Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Opencv 为什么Canny输出不';你不能保持不变吗?_Opencv - Fatal编程技术网

Opencv 为什么Canny输出不';你不能保持不变吗?

Opencv 为什么Canny输出不';你不能保持不变吗?,opencv,Opencv,我正在使用带OpenCv的canny边缘检测器。我使用的是罗技C270网络摄像头。我保持光照条件和所有其他参数不变。然后我在循环中运行canny检测器并显示输出。canny的输出不会保持不变。两个连续输出之间存在微小变化。我很好奇为什么。理想情况下,如果图像不变,canny的输出不应该保持不变吗 Canny边缘检测器最终基于一个或多个阈值操作。由于所有视频传感器都包含一定量的噪声,因此可以保证其中一些噪声会导致Canny结果中的抖动 为了减少这种影响,您应该尝试对图像进行过滤,例如,使用中值或双

我正在使用带OpenCv的canny边缘检测器。我使用的是罗技C270网络摄像头。我保持光照条件和所有其他参数不变。然后我在循环中运行canny检测器并显示输出。canny的输出不会保持不变。两个连续输出之间存在微小变化。我很好奇为什么。理想情况下,如果图像不变,canny的输出不应该保持不变吗

Canny边缘检测器最终基于一个或多个阈值操作。由于所有视频传感器都包含一定量的噪声,因此可以保证其中一些噪声会导致Canny结果中的抖动


为了减少这种影响,您应该尝试对图像进行过滤,例如,使用中值或双边滤波器来减少噪声,这样这种影响就会减少,但可能永远不会完全消除。

对于恒定的输入,输出是恒定的。该算法不涉及随机性。你是说你可以将Canny应用于一幅图像多次并得到不同的结果吗?所有相机传感器都会受到量化噪声的影响,放大直到你能看到单个像素,你会看到它们在不同帧之间有轻微的阴影变化。一些相机具有降噪模式,该模式通过将多个帧堆叠在一起进行操作(如果相机fps足够高,可以在软件中复制。只需获得最后n帧的运行平均值)。您也可以尝试中值模糊