Python水平边缘检测采用sobel算子方法

Python水平边缘检测采用sobel算子方法

前几天写过全局边缘检测的方法,一般采用sobel算子,scharr算子,roberts算子法,prewitt算子法,canny算子法,gabor算子法等的,其实还有一些从不同方向上的边缘检测方法,这里给出基于sobel算子的水平边缘检测方法。

这里要求,使用的winPython中要shell功能和skimage库;

打开shell界面,也是IDLE界面;

并导入要使用的库包,代码如下:

from skimage import io,data,filters,color

读取一个图片,并将其灰度处理(因为边缘检测处理的是二维数据图像):

img=color.rgb2gray(data.camera())

对图片进行水平方向的边缘检测处理,返回的条纹图像:

edge=filters.sobel_h(img)

采用下面的指令查看边缘检测的效果:

io.imshow(edge)

io.show()

水平sobel边缘检测后的效果如图所示。