如何用Skimage库实现边缘检测?Python库skimage怎么完成图像边缘检测

【如何用Skimage库实现边缘检测?Python库skimage怎么完成图像边缘检测】图像边缘检测就是通过算法和方法,来将图像之中物体明显突出的边缘检测出来,然后对图像进行处理只保留边缘而其他区域的颜色都会变成黑色 。而之前也介绍过了使用其他库来完成边缘检测方法,那么本文主要讲解的则是使用skimage库实现边缘检测 。

如何用Skimage库实现边缘检测?Python库skimage怎么完成图像边缘检测

文章插图
一、filters模块
该第三方库之中边缘检测是需要导入模块才能够调用对应方法来实现的,那么边缘检测方法所在的模块为filters,它里面提供了很多不同的方法来完成图像图像边缘检测 。比较常用的有prewitt、roberts、scharr、sobel等方法,这些方法都是使用平滑滤波算法,功能和效果只有一些细微的差别 。
并且这些方法的调用方式都是一样的,只需要传入图像文件对象作为参数即可,详细代码示例如下所示:
from skimage import data,filtersimport matplotlib.pyplot as pltimg = data.camera()edges = filters.sobel(img)plt.imshow(edges,plt.cm.gray)
如何用Skimage库实现边缘检测?Python库skimage怎么完成图像边缘检测

文章插图
二、feature模块
除了上面所介绍的模块和方法之外,此第三方库之中的模块feature也是能够来完成边缘检测操作的 。并且该方法还可以通过调整权重值来让边缘检测减少或增加线条 。
这个方法就是canny,在传入图像文件对象之后,还可以用可选参数sigma来调整边缘提取效果 。该值越大的话,那么获取到的线条实际上就是越小的,也就是只提取边缘较为明显物体的线条,详细代码示例如下所示:
from skimage import data,filters,featureimport matplotlib.pyplot as pltimg = data.camera()edges2 = feature.canny(img,sigma=3)plt.imshow(edges2,plt.cm.gray)plt.show()
如何用Skimage库实现边缘检测?Python库skimage怎么完成图像边缘检测

文章插图
以上就是关于“如何用Skimage库实现边缘检测?Python库skimage怎么完成图像边缘检测”的全部内容了,希望对你有所帮助 。

    推荐阅读