Canny 边缘检测
2019-08-10 本文已影响5人
陨星落云
Canny 边缘检测
在 OpenCV 中,使用函数:cv2.Canny()
cv2.Canny(image, threshold1, threshold2[, edges[, apertureSize[, L2gradient ]]])
参数解释
- image:源图像
- threshold1:阈值1
- threshold2:阈值2
- apertureSize:可选参数,Sobel算子的大小,默认值为 3
- L2gradient,它可以用来设定求梯度大小的方程。如果设为 True,就会使用方程:,否则使用方程:代替,默认值为 False。
def nothing(x):
pass
img = cv2.imread('lena.jpg')
cv2.namedWindow('edges',cv2.WINDOW_NORMAL)
cv2.createTrackbar('minVal','edges',0,255,nothing)
cv2.createTrackbar('maxVal','edges',0,255,nothing)
while(1):
minval=cv2.getTrackbarPos('minVal','edges')
maxval=cv2.getTrackbarPos('maxVal','edges')
edges = cv2.Canny(img,minval,maxval)
cv2.imshow('edges',edges)
k=cv2.waitKey(1)&0xFF
if k==27:
break
cv2.destroyAllWindows()
canny检测.gif
参考资料:
《数字图像处理》《OpenCV-Python-Toturial-中文版》