opencv python图像轮廓/检测轮廓/绘制轮廓的示例分析

  介绍

这篇文章主要介绍了opencv python图像轮廓/检测轮廓/绘制轮廓的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获、下面让小编带着大家一起了解一下。

图像的轮廓检测,如计算多边形外界,形状毕竟,计算感兴趣区域等。

轮廓:开始

<强>轮廓

简单地解释为连接所有连续点(沿着边界)的曲线,具有相同的颜色或强度。
轮廓是形状分析和物体检测和识别的有用工具

<强>注意

<李>

为获得更好的准确性,请使用二值图,在找到轮廓之前,应用阈值法或精明的边缘检测

<李>

从OpenCV 3.2开始,<代码> findContours() 不再修改源图像,而是将修改后的图像作为三个返回参数中的第一个返回

<李>

在OpenCV中,查找轮廓是从黑色背景中查找白色对象

<代码> findContours(图像、模式、方法[,轮廓[,层次结构[,抵消]]])

<李>

图片:原图像

<李>

模式:轮廓检索模式

<李>

方法:轮廓近似方法

输出为:修改后的图像,轮廓,层次结构

轮廓是所有轮廓的列表。每个单独的轮廓是对象边界点的坐标。

轮廓检索模式含义cv2.RETR_EXTERNAL只检测外轮廓cv2.RETR_LIST提取所有轮廓并将其放入列表,不建立等级关系cv2.RETR_CCOMP建立两个等级的轮廓,上面的一层为外边界,里面的一层为内孔的边界信息。如果内孔内还有一个连通物体,这个物体的边界也在顶层cv2.RETR_TREE建立一个等级树结构的轮廓轮廓逼近方法含义cv2.CHAIN_APPROX_NONE存储所有的轮廓点,相邻的两个点的像素位置差不超过1,即马克斯(abs (x1, x2)), abs (y2-y1))==1 cv2.chain_approx_simple压缩水平方向,垂直方向,对角线方向的元素,只保留该方向的终点坐标,例如一个矩形轮廓只需4个点来保存轮廓信息cv2。CHAIN_APPROX_TC89_L1或cv2。CHAIN_APPROX_TC89_KCOS应用Teh-Chin链近似算法

代码:

import  cv2   import  numpy  as  np      时间=img  cv2.imread (& # 39; img.jpg& # 39;)   时间=imgray  cv2.cvtColor (img, cv2.COLOR_BGR2GRAY)   ret, thresh =, cv2.threshold (imgray,, 127,, 255,, 0)   im2,轮廓,hierarchy =, cv2.findContours(打,cv2.RETR_TREE,, cv2.CHAIN_APPROX_SIMPLE)

绘制轮廓

<代码> cv2。drawContours(形象、轮廓、contourIdx、颜色、厚度(,线型[、层次结构(,maxLevel[,抵消]]]]])

<李>

图片:原图像

<李>

轮廓:作为Python列表传递的轮廓

<李>

contourIdx:轮廓索引(在绘制单个轮廓时很有用。绘制所有轮廓,传递1)

要绘制图像中的所有轮廓:
<代码> cv.drawContours (img,轮廓,1,(0255 0),3)

要绘制单个轮廓,比如第4个轮廓:
<代码>简历。drawContours (img,轮廓3(0255 0),3)

但大多数情况下,绘制第4个轮廓,以下方法将非常有用:
<代码>问=轮廓[4]
<代码>简历。drawContours (img,[问]0(0255 0),3)

代码:

import  cv2   import  numpy  as  np      时间=img  cv2.imread (& # 39; img7.png& # 39;)   时间=imgray  cv2.cvtColor (img, cv2.COLOR_BGR2GRAY)   ret, thresh =, cv2.threshold (imgray,, 127,, 255,, 0)   im2,轮廓,hierarchy =, cv2.findContours(打,cv2.RETR_TREE,, cv2.CHAIN_APPROX_SIMPLE)   cnt [0]=,轮廓   cv2.drawContours (img,[问]0 (0255 0),3)      cv2.imshow (& # 39; src # 39;, img)      cv2.waitKey ()

 opencv python图像轮廓/检测轮廓/绘制轮廓的示例分析“> <br/> </p> <p> <img src=

感谢你能够认真阅读完这篇文章,希望小编分享的“opencv python图像轮廓/检测轮廓/绘制轮廓的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

opencv python图像轮廓/检测轮廓/绘制轮廓的示例分析