OpenCV: cv2.findContours - ValueError: too many values to unpack

OpenCV找轮廓findContours报错
ValueError: not enough values to unpack (expected 3,got 2)
问题指向这行代码

binary, cnts, hierarchy = cv2.findContours(thresh.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE ) 

报错的意思是需要3个返回值但只给了两个,
检查代码没有问题之后,怀疑是类似版本不匹配的问题
OpenCV: cv2.findContours - ValueError: too many values to unpack_第1张图片是的,在OpenCV版本4.0以上findContours()函数的返回值由三个改为两个了
函数cv2.findContours()已更改为仅返回轮廓和层次结构,而不返回ret
所以,将代码改为,即去掉binary

cnts, hierarchy = cv2.findContours(thresh.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE ) 

原代码就可以正常运行了

你可能感兴趣的:(Tips,opencv)