您现在的位置是:课程教程文章

python中Sobel算子是什么

2023-12-14 00:03课程教程文章 人已围观

说明

1、Sobel算子的中文名称是索贝尔算子,是一种用于边缘检测的离散微分算子。

它结合了高斯平滑和微分求导。

2、Sobel算子在Prewitt算子的基础上增加了权重的概念,认为相邻点的距离对当前像素点的影响是不同的。

距离越近的像素点对当前像素的影响越大,从而锐化图像,突出边缘轮廓。

实例

importcv2ascv
importmatplotlib.pyplotasplt

#读取图像
img=cv.imread('data.jpg',cv.COLOR_BGR2GRAY)
rgb_img=cv.cvtColor(img,cv.COLOR_BGR2RGB)

#灰度化处理图像
grayImage=cv.cvtColor(img,cv.COLOR_BGR2GRAY)

#Sobel算子
x=cv.Sobel(grayImage,cv.CV_16S,1,0)
y=cv.Sobel(grayImage,cv.CV_16S,0,1)

#转uint8,图像融合
absX=cv.convertScaleAbs(x)
absY=cv.convertScaleAbs(y)
Sobel=cv.addWeighted(absX,0.5,absY,0.5,0)

#用来正常显示中文标签
plt.rcParams['font.sans-serif']=['SimHei']

#显示图形
titles=['原始图像','Sobel算子']
images=[rgb_img,Sobel]

foriinrange(2):
plt.subplot(1,2,i+1),plt.imshow(images[i],'gray')
plt.title(titles[i])
plt.xticks([]),plt.yticks([])
plt.show()

以上就是python中Sobel算子希望对大家有所帮助。更多Python学习指路:python基础教程

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

课程教程:python中Sobel算子是什么

上一篇:python中Sobel算子如何使用

下一篇:没有了

站点信息

  • 文章统计篇文章