1

I'm trying to follow this answer from: 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)

However I'm getting a ValueError: too many values to unpack (expected 2) I have not got any luck finding the reason for this.

I'm trying to get the bounding box of this image: enter image description here

Community
  • 1
  • 1
SevenSoda
  • 123
  • 1
  • 9

1 Answers1

2

New definition of findCountours with additional parameter, try to exchange line in code to:

_, 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

tfv
  • 6,016
  • 4
  • 36
  • 67