【发布时间】:2019-05-18 20:20:57
【问题描述】:
我正在对来自我的网络摄像头的视频流进行 Canny 边缘检测,并且我一直在尝试找到减少闪烁的参数。我想知道代表边缘的粗线是否无法解决问题。
我现在工作的代码是
# inspired by hhttps://shahsparx.me/edge-detection-opencv-python-video-image/ttps://shahsparx.me/edge-detection-opencv-python-video-image/
import cv2
import numpy as np
cap = cv2.VideoCapture(0)
while(1):
ret, frame = cap.read()
gray_vid = cv2.cvtColor(frame, cv2.IMREAD_GRAYSCALE)
cv2.imshow('Original',frame)
edged_frame = cv2.Canny(frame,100,200)
cv2.imshow('Edges',edged_frame)
# Quit with 'Esc' key
k= cv2.waitKey(5) & 0xFF
if k==27:
break
cap.release()
cv2.destroyAllWindows()
但它非常闪烁,即许多检测到的边缘出现和消失,特别是在边缘微弱的地方,如皱纹、头发、背景元素等。 是否有可用于视频捕获或转换的 opencv 参数?
【问题讨论】:
-
什么是“闪烁”?一个示例图像会很有帮助
-
也许你可以尝试在精明之前添加模糊处理以去除噪音
标签: python python-3.x opencv