sobel算子属于几阶算子,sobel算子计算过程详解
说明
1.Sobel算子的中文名是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。索贝尔(灰色图像,简历。CV_16S,1,0)
y=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 . RC params[ font . sans-serif ]=[ sim hei ]
#显示图形
Titles=[原始图像, Sobel算子]
images=[rgb_img,Sobel]
(2):
plt.subplot(1,2,i 1),plt.imshow(images[i], gray )
plt.title(标题[i])
plt.xticks([]),plt.yticks([])
Plt.show()以上是python中的Sobel运算符,希望对你有帮助。更多python学习方向:Python基础课程
本教程运行环境:windows7系统,Python 3.9.1,DELL G3电脑。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。