Python OpenCV-访问cv2.findContours变量

Python OpenCV-访问cv2.findContours变量,python,python-2.7,opencv,pycharm,opencv3.0,Python,Python 2.7,Opencv,Pycharm,Opencv3.0,我将OpenCv 3.0与Python2.7结合使用,对于光学字符识别,我需要找到通过findContours方法找到的每个轮廓的点。当我进行调试时,我可以看到找到了208个countours,但我很好奇如何访问它们 以下是捕获轮廓的方法: contours,hierarchy = cv2.findContours(thresh,cv2.RETR_LIST,cv2.CHAIN_APPROX_SIMPLE) 我需要这样的东西: cv2.getcontoursPoints(contour) 您的

我将OpenCv 3.0与Python2.7结合使用,对于光学字符识别,我需要找到通过findContours方法找到的每个轮廓的点。当我进行调试时,我可以看到找到了208个countours,但我很好奇如何访问它们

以下是捕获轮廓的方法:

contours,hierarchy = cv2.findContours(thresh,cv2.RETR_LIST,cv2.CHAIN_APPROX_SIMPLE)
我需要这样的东西:

cv2.getcontoursPoints(contour)

您的轮廓点已经在
轮廓
输出中,该输出是一个python列表,由
(x,y)
坐标的Numpy数组组成。请注意,如中所述,您有几个等高线层:

每个[code>countours
]轮廓都存储为点矢量

因此,如果打印
等高线[0]
,它将显示一个点列表。因此,如果您想精确地访问特定层中的某个点,您必须再次详细说明索引。

试试这个

对于轮廓中的cnt:
打印(cnt)


您将能够看到所有轮廓的numpy数组。

我不想绘制它们。我需要每个点的坐标值(如int、double或float)来向我的机器教授字母。我将在机器学习算法中使用这些值。正如在回答中所说的,你已经在
等高线中有了坐标值。。。你在这方面有什么困扰?也就是说,在第一个等高线上,我的值是[[[532 229][[536 229][[539 232][[539 233][[540 234][[540 238][[539 239][[539 240][[536 243][[532 243][[528 239][[528 234]][[529 233]][[529 232]]]]]我需要用一些特殊的方法来获得这些数字。我不明白你想要什么。。。你在回答你自己,你有这些价值观就在你眼前。。。你的目标是什么?您希望如何处理这些值?请准确地重新表达你的问题,它们就在我眼前,但我无法在我的程序中获得这些值。绘制等高线用于绘制;然而,我的目标是有特定轮廓的数组(作为数字)。例如,如何将第45个等高线的值设置为
45_等高线=等高线(45)
。当我打印45度等高线时,它将输出以下内容:[[344 179][[345 178][[348 178]]。。。