【问题标题】:Finding contour in using opencv in python在python中使用opencv查找轮廓
【发布时间】:2017-11-11 10:06:01
【问题描述】:

我想,我很好理解函数“cv2.findContours(image, mode, method)。 但是我在opencv的一个文档中得到了这个东西contours,hierarchy = cv2.findContours(thresh,2,1)。我不明白这里的 2,1 是什么意思以及为什么使用它们。有人请解释一下。

【问题讨论】:

  • 它们是轮廓检索模式轮廓近似方法的标志。基本上 int 值表示要使用的方法/模式。请阅读documentation

标签: python-3.x opencv contour


【解决方案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

【讨论】:

  • 对不起,我没明白如何以整数形式表示模式和方法?
  • Int 值表示要使用的方法/模式。你读过文档吗?要使用它们,我将进行试错以查看它们代表什么,但是,这是我的选择。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2012-02-25
    • 2021-01-31
    • 1970-01-01
    • 1970-01-01
    • 2012-11-06
    • 1970-01-01
    • 2011-06-13
    • 2019-01-07
    • 1970-01-01
    相关资源
    最近更新 更多