OpenCV中的sobel算子边缘检测
代码实现:
#边缘检测(图像梯度)
#一、Sobel算子
img = cv2.imread('cat.jpg')
cv2.imshow('img',img)
#对x方向和y方向求梯度
#ksize默认为3,此时采用Scharr算子,使得边缘更突出
grad_x = cv2.Sobel(img,cv2.CV_32F,1,0,3,ksize=3)
grad_y = cv2.Sobel(img,cv2.CV_32F,0,1,3,ksize=3)
gradx = cv2.convertScaleAbs(grad_x)
grady = cv2.convertScaleAbs(grad_y)
#加权
sobel=cv2.addWeighted(gradx,0.5,grady,0.5,0)
cv2.imshow('sobel',sobel)
cv2.waitKey()
运行结果:

这篇博客介绍了如何使用OpenCV库中的Sobel算子进行图像边缘检测。通过读取图片并应用Sobel算子分别计算x和y方向的梯度,然后将结果加权合并,得到最终的边缘检测图像。示例代码展示了具体实现过程。
617

被折叠的 条评论
为什么被折叠?



