赞
踩
函数原型:
cv2.Canny(image, threshold1, threshold2[, edges[, apertureSize[, L2gradient ]]])
参数 | 解释 |
---|---|
image | 源图像 |
threshold1 | 阈值1 |
threshold2 | 阈值2 |
apertureSize | 可选参数,Sobel算子的大小 |
其中,较大的阈值2用于检测图像中明显的边缘,但一般情况下检测的效果不会那么完美,边缘检测出来是断断续续的。所以这时候用较小的第一个阈值用于将这些间断的边缘连接起来。
注意:函数返回的是二值图,包含检测出的边缘
示例
import numpy as np import cv2 as cv cv.namedWindow("images") def nothing(): pass cv.createTrackbar("s1","images",0,255,nothing) cv.createTrackbar("s2","images",0,255,nothing) img = cv.imread("test/scene2.png",0) while(1): s1 = cv.getTrackbarPos("s1","images") s2 = cv.getTrackbarPos("s2","images") out_img = cv.Canny(img,s1,s2) cv.imshow("img",out_img) k = cv.waitKey(1) if k==ord("q"): break cv.destroyAllWindows()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。