智能硬件与机器视觉:基于树莓派、Python和OpenCV
上QQ阅读APP看书,第一时间看更新

4.3.3 边缘检测

边缘检测对于查找图像中目标的边界很有用,现在我们来运行边缘检测并弄清楚它的工作原理。


 # 应用边缘检测可以找到    #23
# 图像中对象的轮廓  #24
edged = cv2.Canny(gray, 30, 150)    #25
cv2.imshow("Edged", edged)  #26
cv2.waitKey(0)  #27

使用流行的Canny算法,这个算法可以找到图像的边缘。cv2.Canny函数提供了4个参数。

·img:灰阶图像。

·minVal:最小阈值,本例中为30。

·maxVal:示例中的最大阈值为150。

·aperture_size:Sobel算子大小。默认情况下,此值为3,因此未在第25行指定。

最小和最大阈值的不同值将返回不同的边缘图。

在图4-15中,注意俄罗斯方块本身的边缘是如何与构成俄罗斯方块的单个小方块一起显示的。注意,要使用OpenCV进行边缘检测,使用Canny算法。

图4-15 边缘检测效果图