您现在的位置是:课程教程文章
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算子是什么下一篇:没有了