
前几天写过全局边缘检测的方法,一般采用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边缘检测后的效果如图所示。
