2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > Opencv python基础入门(4)---sobel算子及边缘检测

Opencv python基础入门(4)---sobel算子及边缘检测

时间:2019-09-25 01:53:02

相关推荐

Opencv python基础入门(4)---sobel算子及边缘检测

本文主要介绍sobel算子及边缘检测:

代码如下:

#sobel,ddepth如果设置为-1的话,水平处理只能取出左边界,右边界为负值丢失了,所以需要先用64F扩展然后用convertScaleAbs转换#dx,dy都设置为1和使用addWeighted用法差别:addWeighted更细节img2=cv2.Sobel(img,ddepth=cv2.CV_64F,dx=1,dy=0,ksize=3)img3=cv2.Sobel(img,ddepth=cv2.CV_64F,dx=0,dy=1,ksize=3)img2=cv2.convertScaleAbs(img2)img3=cv2.convertScaleAbs(img3)img2=cv2.addWeighted(img2,0.5,img3,0.5,0)#scharr,中心权重比例更大,比sobel显示更多细节的边缘,但是这个边缘是否需要取决于应用,有可能压根不需要那么多的细节img2=cv2.Scharr(img,ddepth=cv2.CV_64F,dx=1,dy=0)img3=cv2.Scharr(img,ddepth=cv2.CV_64F,dx=0,dy=1)img2=cv2.convertScaleAbs(img2)img3=cv2.convertScaleAbs(img3)img2=cv2.addWeighted(img2,0.5,img3,0.5,0)#拉普拉斯算子,XY方向都做2次梯度运算,sobel,scharr都是只做一次,直接可以得出XY方向的边缘img2=cv2.Laplacian(img,ddepth=cv2.CV_64F)img2=cv2.convertScaleAbs(img2)#canny函数 边缘检测,threshold1为最小值阀值,满足则丢弃,threshold2为最大值,满足则留下img2=cv2.Canny(img,threshold1=100,threshold2=200)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。