Python OpenCv内部函数“;轮廓面积“;错误

Python OpenCv内部函数“;轮廓面积“;错误,python,opencv,Python,Opencv,我对编码和尝试进入计算机视觉相当陌生。我直接从github下载了一些代码,开始使用它,但由于某些原因,我无法让它运行。我通过pip安装了所需的所有模块,在代码开始时cv2导入也很好。每当它到达一个内部函数时,它就会在这一行出错 cnts = sorted(cnts, key=cv2.contourArea, reverse=True) 产生以下错误: Traceback (most recent call last): File "/Users/nikolaipeterson/Deskto

我对编码和尝试进入计算机视觉相当陌生。我直接从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'
回溯(最近一次呼叫最后一次):
文件“/Users/nikolaipeterson/Desktop/hairline_detection-master/source.py”,第59行,在
cnts=已排序(cnts,key=cv2.contourArea,reverse=True)
cv2.error:OpenCV(4.0.0)/Users/travis/build/skvark/OpenCV python/OpenCV/modules/imgproc/src/shapedscr.cpp:272:error:(-215:断言失败)函数“轮廓区域”中的npoints>=0&(深度==CV|32F|深度==cv32s)

我真的很感激任何帮助。我从

中获得了代码,请记住,在Opencv4
cv2中,findContour()
仅返回2个值:
等高线,层次结构

应该如此

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

错误表明,传递给函数的内容没有任何点,或者是另一种非int或float类型。什么是
透镜(CNT)
?碳纳米管中每种物质的长度是多少?CNT中每个阵列的数据类型是什么?len(CNT)是1。有关更多上下文,代码显示在FindOnTours行之后。这些轮廓是numpy阵列。cnts=cv2.findContours(掩码,cv2.RETR_树,cv2.CHAIN_近似_简单)[1]cnts=sorted(cnts,key=cv2.contourArea,reverse=True)cnt=cnts[0]topmost=tuple(cnt[cnt[:,:,1].argmin()[0])