Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.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
Python 在cv2.Canny中,低阈值参数和高阈值参数有什么区别?_Python_Opencv_Image Processing - Fatal编程技术网

Python 在cv2.Canny中,低阈值参数和高阈值参数有什么区别?

Python 在cv2.Canny中,低阈值参数和高阈值参数有什么区别?,python,opencv,image-processing,Python,Opencv,Image Processing,我想对图像应用Canny函数来检测边缘 函数的外观如下所示: cv2.Canny(image, threshold1, threshold2, apertureSize, L2gradient) 阈值1:强度梯度的高阈值 阈值2:强度梯度的低阈值 我不理解阈值1和阈值2之间的区别。我在网上搜索了一下,但还是不明白 这是我的原始图像: 具有低阈值1和高阈值2的示例: canny_low_threshold1 = cv2.Canny(blurred_image, 10, 100) cv2.ims

我想对图像应用Canny函数来检测边缘

函数的外观如下所示:

cv2.Canny(image, threshold1, threshold2, apertureSize, L2gradient)
阈值1:强度梯度的高阈值

阈值2:强度梯度的低阈值

我不理解阈值1和阈值2之间的区别。我在网上搜索了一下,但还是不明白

这是我的原始图像:

具有低阈值1和高阈值2的示例:

canny_low_threshold1 = cv2.Canny(blurred_image, 10, 100)
cv2.imshow("low_threshold1", canny_low_threshold)
这里正好相反:

canny_high_threshold1 = cv2.Canny(blurred_image, 100, 10 )
cv2.imshow("high_threshold1", canny_high_threshold1)

它们的产量完全相同。谁能给我解释一下区别吗?

例如, 我们有点A、B、C。如果点A高于maxVAl,则视为边,如果点B位于maxVAl和minVal之间,且点B未连接到maxVAl上方的点A,则不会将其视为边。如果点C低于最小值,则根本不将其视为边。 maxVal和minVal倾向于将潜在边与假边分开,例如, 我们有点A、B、C。如果点A高于maxVAl,则视为边,如果点B位于maxVAl和minVal之间,且点B未连接到maxVAl上方的点A,则不会将其视为边。如果点C低于最小值,则根本不将其视为边。 maxVal和minVal倾向于将潜在边缘与假边缘分开

它们不是真正的“高阈值”和“低阈值”。两个阈值中的最小值用作最小值,最大值用于最大值。通过在不更改值的情况下切换值,您不会更改所使用的值或生成的输出。请参阅,特别是第5节和。它们不是真正的“高阈值”和“低阈值”。两个阈值中的最小值用作最小值,最大值用于最大值。通过在不更改值的情况下切换值,您不会更改所使用的值或生成的输出。请参阅,特别是第5节,以及。