OpenCv内部函数“ contourArea”错误

时间:2019-01-22 15:04:50

标签: python opencv

我对编码和尝试进入计算机视觉还很陌生。我直接从github下载了一些代码以开始使用它,但是由于某种原因我无法使其运行。我安装了通过pip所需的所有模块,并且在代码的开头就很好地导入了cv2。每当使用内部功能之一时,它都会在此行中出错。

cnts = sorted(cnts, key=cv2.contourArea, reverse=True)

产生错误:

Traceback (most recent call last):
  File "/Users/nikolaipeterson/Desktop/hairline_detection-master/source.py", line 59, in <module>
    cnts = sorted(cnts, key=cv2.contourArea, reverse=True)
cv2.error: OpenCV(4.0.0) /Users/travis/build/skvark/opencv-python/opencv/modules/imgproc/src/shapedescr.cpp:272: error: (-215:Assertion failed) npoints >= 0 && (depth == CV_32F || depth == CV_32S) in function 'contourArea'

非常感谢您的帮助。我从https://github.com/miramind/hairline_detection

获得了代码

1 个答案:

答案 0 :(得分:0)

请记住,在Opencv4中,cv2.findContour()仅返回2个值:contours, hierachy https://docs.opencv.org/master/d4/d73/tutorial_py_contours_begin.html

应该是

cnts = cv2.findContours(mask,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)[0]