opencv中的cv2.findContours()函数解析

news/2024/11/14 18:33:39/
cv2.findContours()

 轮廓检测函数:是图像处理中经常用到的。OpenCV-Python接口中使用cv2.findContours()函数来查找检测物体的轮廓。


contours, hierarchy = cv2.findContours(image,mode,method)

参数解释:

  • image:输入图像
  • mode:轮廓的模式。cv2.RETR_EXTERNAL只检测外轮廓;cv2.RETR_LIST检测的轮廓不建立等级关系;cv2.RETR_CCOMP建立两个等级的轮廓,上一层为外边界,内层为内孔的边界。如果内孔内还有连通物体,则这个物体的边界也在顶层;cv2.RETR_TREE建立一个等级树结构的轮廓。
  • method:轮廓的近似方法。cv2.CHAIN_APPROX_NOME存储所有的轮廓点,相邻的两个点的像素位置差不超过1;cv2.CHAIN_APPROX_SIMPLE压缩水平方向、垂直方向、对角线方向的元素,只保留该方向的终点坐标,例如一个矩形轮廓只需要4个点来保存轮廓信息cv2.CHAIN_APPROX_TC89_L1,cv2.CV_CHAIN_APPROX_TC89_KCOS
  • contours:返回的轮廓
  • hierarchy:每条轮廓对应的属性
  • 注意:cv2.findContours()函数接受的参数为二值图,即黑白的(不是灰度图),所以读取的图像要先转成灰度的,再转成二值图。

def getContours(img):'''获取边界轮廓函数'''# mode=cv2.RETR_EXTERNAL 检测外部(outer detail)# method=cv2.CHAIN_APPROX_NONE (返回的相邻两个点的像素位置差不超过1)conters, hierarchy = cv2.findContours(image=img, mode=cv2.RETR_EXTERNAL, method=cv2.CHAIN_APPROX_NONE)# conters中的轮廓是list类型for area in conters:# area_image = areaares = cv2.contourArea(contour=area)# print('areas_shape', area_image.shape)print('areas', ares)


http://www.ppmy.cn/news/325389.html

相关文章

[Python解决cv2.findContours函数返回值异常的问题]

[Python解决cv2.findContours函数返回值异常的问题] 在使用OpenCV进行图像处理时,经常会使用到cv2.findContours()函数来查找物体轮廓。然而,有时候当我们调用该函数时,会出现 “too many values to unpack (expected 2)” 的错误提示。这个错误通常是由于函数返回值与我们…

cv2.findContours、cv2.drawContours

cv2.findContours()是非常常用的方法,在文字检测例如dbnet的后处理中,通常预测产生的概率图或者二值图要产生检测的边界,通常使用findContours方法找出边界在还原,除此之外一些对边缘的监督学习制作的标签也往往使用findContours方…

python cv2.findContours参数测试

findContours是连通域处理中最常用的函数之一,顾名思义,是实现图像中连通域的查找定位。结合cv2.drawContours/cv2.contourArea/cv2.boundingRect/cv2.minAreaRect等函数可以实现连通域轮廓的描绘,面积计算,外接四边形和最小外接四…

pyhton opencv中cv2.findContours与cv2.drawContours

最近在做关于图像识别的东西,用到了寻找轮廓函数cv2.findContours和绘制轮廓函数cv2.drawContours 先看看cv2.findContours的定义: 如果嫌啰嗦(不想看英语),直接下拉,下面我有写用法与总结 def findContou…

cv2.drawContours()、cv2.findContours()、cv2.boundingRect(img)函数用法解析

cv2.drawContours()函数的功能是绘制轮廓,输入变量如下: cv2.drawContours(image, contours, contourIdx, color, thicknessNone, lineTypeNone, hierarchyNone, maxLevelNone, offsetNone) 第一个参数image表示目标图像, 第二个参数contour…

绘制轮廓 cv2.findContours函数及参数解释

cv2 绘制轮廓 cv2.findContours()注意事项mode参数method参数offset:(可选参数)返回值 cv2.findContours() def findContours(image, mode, method, contoursNone, hierarchyNone, offsetNone): # real signature unknown; restored from __doc__"…

opencv:图像轮廓检测 cv2.findContours() 与 cv2.drawContours()

1 cv2.findContours() OpenCV-Python接口中使用cv2.findContours()函数来查找检测物体的轮廓。 cv2.findContours(image, mode, method, contoursNone, hierarchyNone, offsetNone)参数描述返回image寻找轮廓的图像,注意输入的图片必须为二值图片。若输入的图片为…

cv2.findContours()返回函数详解

对于cv2.findContours() 函数,相信很多人都在使用,利用其进行轮廓的寻找,之后利用cnt[num],对第num个轮廓进行操作,但是该函数返回的三个参数具体表示的是什么呢? 下面就进行详细介绍,为了能够…