我正在尝试按照以下答案:Extract all bounding boxes using OpenCV Python
with the code:
def tt(self, img):
img = np.array(img)
gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
contours,hierarchy = cv2.findContours(gray,cv2.RETR_LIST,cv2.CHAIN_APPROX_SIMPLE)
idx =0
for cnt in contours:
idx += 1
x,y,w,h = cv2.boundingRect(cnt)
roi=img[y:y+h,x:x+w]
#cv2.imwrite(str(idx) + '.jpg', roi)
#cv2.rectangle(im,(x,y),(x+w,y+h),(200,0,0),2)
cv2.imshow('img',img)
cv2.waitKey(0)
d = opcv()
im = Image.open(r"ss.JPG")
d.tt(im)
但是我得到ValueError: too many values to unpack (expected 2)
我没有找到运气的原因。
答案 0 :(得分:2)
带有附加参数的findCountours的新定义,尝试在代码中交换行:
_, contours,hierarchy =cv2.findContours(gray,cv2.RETR_LIST,cv2.CHAIN_APPROX_SIMPLE)
cf:http://docs.opencv.org/3.1.0/d4/d73/tutorial_py_contours_begin.html#gsc.tab=0