OpenCV Python - 轮廓 - 断言失败

时间:2014-07-12 18:39:28

标签: python opencv contour

我只是想使用代码here在图像中查找轮廓。

代码实际上是从示例中复制而来的:

import numpy as np
import cv2

im = cv2.imread('test.jpg')
imgray = cv2.cvtColor(im,cv2.COLOR_BGR2GRAY)
ret,thresh = cv2.threshold(imgray,127,255,0)
contours, hierarchy = cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)

但程序每次都在findContours失败。

错误是:

OpenCV Error: Assertion failed (_contours.kind() == _InputArray::STD_VECTOR_VECTOR && _contours.channels() == 2 && _contours.depth() == CV_32S) in findContours, file /home/shahzeb/Downloads/opencv/modules/imgproc/src/contours.cpp, line 1708
traceback (most recent call last):
  File "edges.py", line 7, in <module>
    contours, hierarchy = cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
cv2.error: /home/shahchip/Downloads/opencv/modules/imgproc/src/contours.cpp:1708: error: (-215) _contours.kind() == _InputArray::STD_VECTOR_VECTOR && _contours.channels() == 2 && _contours.depth() == CV_32S in function findContours

有人能否解释这个错误。我似乎无法理解任何一个。

如果相关,我确实从源代码编译了OpenCV。

编辑:

对于有此错误的其他人,我发现OpenCV在提交后中断:6f2fea7ea5f3f61cee860168700537165f3a77db在OpenCV的主分支上。

0 个答案:

没有答案