Opencv 为什么Canny输出不';你不能保持不变吗?
我正在使用带OpenCv的canny边缘检测器。我使用的是罗技C270网络摄像头。我保持光照条件和所有其他参数不变。然后我在循环中运行canny检测器并显示输出。canny的输出不会保持不变。两个连续输出之间存在微小变化。我很好奇为什么。理想情况下,如果图像不变,canny的输出不应该保持不变吗 Canny边缘检测器最终基于一个或多个阈值操作。由于所有视频传感器都包含一定量的噪声,因此可以保证其中一些噪声会导致Canny结果中的抖动Opencv 为什么Canny输出不';你不能保持不变吗?,opencv,Opencv,我正在使用带OpenCv的canny边缘检测器。我使用的是罗技C270网络摄像头。我保持光照条件和所有其他参数不变。然后我在循环中运行canny检测器并显示输出。canny的输出不会保持不变。两个连续输出之间存在微小变化。我很好奇为什么。理想情况下,如果图像不变,canny的输出不应该保持不变吗 Canny边缘检测器最终基于一个或多个阈值操作。由于所有视频传感器都包含一定量的噪声,因此可以保证其中一些噪声会导致Canny结果中的抖动 为了减少这种影响,您应该尝试对图像进行过滤,例如,使用中值或双
为了减少这种影响,您应该尝试对图像进行过滤,例如,使用中值或双边滤波器来减少噪声,这样这种影响就会减少,但可能永远不会完全消除。对于恒定的输入,输出是恒定的。该算法不涉及随机性。你是说你可以将Canny应用于一幅图像多次并得到不同的结果吗?所有相机传感器都会受到量化噪声的影响,放大直到你能看到单个像素,你会看到它们在不同帧之间有轻微的阴影变化。一些相机具有降噪模式,该模式通过将多个帧堆叠在一起进行操作(如果相机fps足够高,可以在软件中复制。只需获得最后n帧的运行平均值)。您也可以尝试中值模糊