Python OpenCV查找等高线

Python OpenCV查找等高线,python,opencv,Python,Opencv,我们是第一个使用OpenCV进行视觉检测的机器人团队的成员。其他团队发布了一个有效的检测软件,可以在team2053tigertronics的Github(/2016Code/blob/master/Robot2016/src/vision/vision.cpp)上找到,我们正在尝试将他们的代码转换为Python,并将此代码用作示例代码,稍后进行调整。转换时,我们遇到了一个奇怪的问题。 出于调试目的,我们使用print语句来打印轮廓,这样我们就知道了在尝试将代码放入boundingRectang

我们是第一个使用OpenCV进行视觉检测的机器人团队的成员。其他团队发布了一个有效的检测软件,可以在team2053tigertronics的Github(/2016Code/blob/master/Robot2016/src/vision/vision.cpp)上找到,我们正在尝试将他们的代码转换为Python,并将此代码用作示例代码,稍后进行调整。转换时,我们遇到了一个奇怪的问题。 出于调试目的,我们使用print语句来打印轮廓,这样我们就知道了在尝试将代码放入boundingRectangle方法时出错的原因 以下是我们目前的代码:
以下是我们的输出:

我们得到的错误是:

回溯: 在第146行中,processImage()
第98行:rec=cv2.boundingRect(i[x])
索引256超出大小为15的轴0的界限/
我们的输出是包含整数值的不同numpy数组的列表。我们不知道如何使用这些值绘制矩形,并最终使用这些值作为机器人游戏中使用的坐标

我们感谢任何帮助
谢谢
阿克斯顿(及其团队)

编辑: 正如其他议员所问,这里有一个较简单的问题:

以下是我们遇到问题的代码: 填充物、轮廓、继承权=cv2.findContours(matThresh、cv2.RETR_外部、cv2.CHAIN_近似值_简单值)

我们想知道如何使用轮廓值作为点来使用boundingRect方法。
再次感谢

这确实像@Miki上面说的那样简单

由于
等高线
是等高线列表,因此只需一个循环即可访问单个等高线,并获得该等高线的边界矩形:

for contour in contours:
    rec = cv2.boundingRect(contour)
    print rec
    ## now, just for the fun, let's look
    ## at a *single* contour, it consists of points:
    for point in contour:
        print point

请发一封信。只在问题中编辑代码的相关部分。我更改了它。非常感谢你!我对Python不是很熟悉,但它不应该只是:
rec=cv2.boundingRect(I)
?当我尝试这样做时,它抛出了超出范围的错误。我再试一次。谢谢
for contour in contours:
    rec = cv2.boundingRect(contour)
    print rec
    ## now, just for the fun, let's look
    ## at a *single* contour, it consists of points:
    for point in contour:
        print point