计算机视觉开源库OpenCV之边缘检测cv2.canny()函数
函数原型edge = cv2.Canny(image, threshold1, threshold2[, edges[, apertureSize[, L2gradient ]]])参数解释image:源图像threshold1:阈值1threshold2:阈值2apertureSize:可选参数,Sobel算子的大小其中,较大的阈值2用于...
文章共258字 · 阅读需要大约1分钟
一键AI生成摘要,助你高效阅读
问答
·
函数原型
edge = cv2.Canny(image, threshold1, threshold2[, edges[, apertureSize[, L2gradient ]]])
参数解释
image:源图像
threshold1:阈值1
threshold2:阈值2
apertureSize:可选参数,Sobel算子的大小
其中,较大的阈值2用于检测图像中明显的边缘,但一般情况下检测的效果不会那么完美,边缘检测出来是断断续续的。所以这时候用较小的第一个阈值用于将这些间断的边缘连接起来。
函数返回的是二值图,包含检测出的边缘
#!/usr/bin/env python3
import cv2
image = cv2.imread(r"meinv.jpg")
# 转变为灰度图
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
cv2.imshow("Gray Image", gray)
# 利用高斯滤波来降噪
blurred = cv2.GaussianBlur(gray, (3, 3), 0)
dst = cv2.Canny(gray, 50, 125)
cv2.imshow("Result Image", dst)
cv2.waitKey(0)
cv2.destroyAllWindows()
更多推荐
已为社区贡献6条内容
所有评论(0)