openCv版本问题:
源代码如下
nts=cv2.findContours(edged.copy(),cv2.RETR_LIST,cv2.CHAIN_APPROX_SIMPLE)[1]
cnts=sorted(cnts,key=cv2.contourArea,reverse=True)[:5]
问题原因:
该仓库显然是为OpenCV 3.x编写的.但是,您正在OpenCV 4.1上运行.回购代码采用find_contour的轮廓的第二个返回值(find_contours(...)[1]).您应该将1更改为0.
The repo is clearly written for OpenCV 3.x. But, you are running on OpenCV 4.1. Repo code takes find_contour's second return value for contours( find_contours(...)[1] ). You should change 1 to 0.
修改后的代码:
nts=cv2.findContours(edged.copy(),cv2.RETR_LIST,cv2.CHAIN_APPROX_SIMPLE)[0]
cnts=sorted(cnts,key=cv2.contourArea,reverse=True)[:5]