优草派  >   Python

Python图像边缘检测代码是什么?Python怎么实现图像边缘轮廓检测

罗西汉            来源:优草派

python图像处理一个非常重要的研究和开发方向就是图像物体识别,而这个识别是需要使用到边缘轮廓检测方法的。下面这篇文章主要介绍的内容是,python图像边缘轮廓检测代码及其教程,感兴趣的话就一起往下看看吧。

Python图像边缘检测代码是什么?Python怎么实现图像边缘轮廓检测

1.一般来说图像边缘轮廓检测都是都通过opencv库来实现的,但是现在有一个库skimage能够去实现同样的操作。将它里面的measure和draw模块以及numpy库、matplotlib库一起导入使用,代码如下所示:

import numpy as np
import matplotlib.pyplot as plt
from skimage import measure,draw

2.所需要使用到的库和模块导入完成之后就是要来后去执行检测操作的图像了,通过imread()方法将其读取进来,或者是调用draw模块绘制图像都可以。那么下面代码就是先创建出来一个空白图像,然后在其中添加矩形、大圆以及小圆三个图像,代码如下所示:

img=np.zeros([100,100])
img[20:40,60:80]=1 
rr,cc=draw.circle(60,60,10)
rr1,cc1=draw.circle(20,30,15)
img[rr,cc]=1
img[rr1,cc1]=1

3.到此为止,图像对象以及调用方法的模块都已经准备好了。所以需要使用find方法来检测图像轮廓,然后调用subplots()方法来创建出可以显示在桌面上的图像窗口。在循环之中迭代图像检测之后得到的轮廓对象,需要使用方法将它们边缘绘制出来才可以,详细代码示例如下所示:

contours = measure.find_contours(img, 0.5)
fig, (ax0,ax1) = plt.subplots(1,2,figsize=(8,8))
for n, contour in enumerate(contours):
    ax1.plot(contour[:, 1], contour[:, 0], linewidth=2)
plt.show()

image.png

上面代码示例绘制图像边缘轮廓的方法是for循环,在其中分别使用了蓝色、绿色以及红色去绘制图像检测出来的边缘轮廓。以上就是关于“Python图像边缘检测代码是什么?Python怎么实现图像边缘轮廓检测”的全部内容了,希望对你有所帮助。

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。