提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
使用滑动条控制Canny算法的上下阈值 Python
前言
Canny算子是Opencv中常用的用来对图像中的轮廓线条进行检测的,应用十分广泛,但是每张图片所需要的轮廓效果,可以通过滑动条对其进行调整。
1.Python 代码
import cv2
#载入图片
img_original=cv2.imread(’./2.jpg’)
#设置窗口
cv2.namedWindow(‘Canny’)
#定义回调函数
def nothing(x):
pass
#创建两个滑动条,分别控制threshold1,threshold2
cv2.createTrackbar(‘threshold1’,‘Canny’,50,200,nothing) #200
cv2.createTrackbar(‘threshold2’,‘Canny’,200,1500,nothing)#1000
while(1):
#返回滑动条所在位置的值
threshold1=cv2.getTrackbarPos(‘threshold1’,‘Canny’)
threshold2=cv2.getTrackbarPos(‘threshold2’,‘Canny’)
#Canny边缘检测
img_edges=cv2.Canny(img_original,threshold1,threshold2)
#显示图片
cv2.imshow(‘original’,img_original)
cv2.imshow(‘Canny’,img_edges)
if cv2.waitKey(1)==ord(‘q’):
break
cv2.destroyAllWindows()
总结
方法很好用,通过调节滑动条,找到自己对于该张图像的满意的threshold1和2.