我正在尝试对从 findContours 获得的轮廓进行简单的面积计算。我的openCv版本是3.1.0
我的代码是:
cc = cv2.findContours(im_bw.copy(), cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
cv2.contourArea(cc[0])
error: 'C:\\builds\\master_PackSlaveAddon-win32-vc12-static\\opencv\\modules\\imgproc\\src\\shapedescr.cp...: error: (-215) npoints >= 0 && (depth == CV_32F || depth == CV_32S) in function cv::contourArea\n'
似乎无法解决它,我觉得它只是类型转换,尽管我希望 findContours 结果与 contourArea 的类型相匹配
谢谢 :)
编辑:原来我需要接受 findContours 的第二个参数
im2, cc, hierarchy = cv2.findContours(im_bw.copy(), cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
原文由 YNWA 发布,翻译遵循 CC BY-SA 4.0 许可协议
在 Opencv 3 API 版本中
cv2.findContours()
返回 3 个 对象因此,您需要将语句重写为: