OpenCV-3计算机视觉(Canny边缘检测)

函数原型:edge = cv2.Canny(image, threshold1, threshold2[, edges[, apertureSize[, L2gradient ]]])  

第一个参数是待处理的原图像该函数会将图像处理成黑白,第二个参数是阈值1,第三个参数是阈值三

例如图像调整中的阈值就像一把尺子,它让高于这把尺子的像素值变得更高,低的变得更低,最后亮度高的全变白,低的全变

黑。(之前看到某哥们说的很好,引用分享)。

Canny边缘检测算法非常复杂,但也很有趣,它分5个步骤,即使用高斯滤波器对图像进行去噪,计算梯度,在边缘上

使用非最大抑制(NMS),在检测到的边缘上使用双(double)阈值去除假阳性(false positive),最后还会分析所有的边缘之间的联系,以保留真正的边缘消除不明显的边缘

例如

import cv2
img=cv2.imread('lbld.jpg')
cv2.imwrite('lbld.jpg',cv2.Canny(img,200,300))
cv2.imshow('lbld',cv2.imread('lbld.jpg'))

cv2.waitKey()

处理前


处理后


猜你喜欢

转载自blog.csdn.net/qq_41603898/article/details/80399070