在 python 中使用 opencv 查找轮廓

Finding contour in using opencv in python

我想,我很了解函数“cv2.findContours(图像,模式,方法)。 但是我在opencv的一个文档中得到了这个东西contours,hierarchy = cv2.findContours(thresh,2,1)。我不明白 2,1 在这里的含义是什么以及为什么使用它们。有人请解释一下。

void cv::findContours   (   InputOutputArray    image,
OutputArrayOfArrays     contours,
OutputArray     hierarchy,
int     mode,
int     method,
Point   offset = Point() 
)       

在二值图像中查找轮廓。

该函数使用算法 [132] 从二值图像中检索轮廓。轮廓是形状分析和对象检测与识别的有用工具。请参阅 OpenCV 示例目录中的 squares.c。

一些文档可以帮助您: http://docs.opencv.org/trunk/d9/d8b/tutorial_py_contours_hierarchy.html

findContours() 的模式和方法参数是具有整数值的枚举。可以使用关键字或分配给它的整数值。当项目中包含 opencv 时,可以将此细节视为 visual studio 中的智能感知。

下面是每个枚举的关联值。

模式

  1. CV_RETR_EXTERNAL : 0
  2. CV_RETR_LIST : 1
  3. CV_RETR_CCOMP : 2
  4. CV_RETR_TREE : 3

方法

  1. CV_CHAIN_APPROX_NONE : 1
  2. CV_CHAIN_APPROX_SIMPLE : 2
  3. CV_CHAIN_APPROX_TC89_L1 : 3
  4. CV_CHAIN_APPROX_TC89_KCOS : 4