Issue
My simple Python code is this
import cv2
img=cv2.imread('Materials/shapes.png')
blur=cv2.GaussianBlur(img,(3,3),0)
gray=cv2.cvtColor(blur,cv2.COLOR_BGR2GRAY)
returns,thresh=cv2.threshold(gray,80,255,cv2.THRESH_BINARY)
ret,contours,hierachy=cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
for cnt in contours:
area=cv2.contourArea(cnt) #contour area
if (area>1220):
cv2.drawContours(img,[cnt],-1,(0,255,0),2)
cv2.imshow('RGB',img)
cv2.waitKey(1000)
print(len(cnt))
import numpy as np
contours=np.array(contours)
print(contours)
This worked fine. But recently without me even making any changes. This was throwed to me
ret,contours,hierachy=cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
ValueError: not enough values to unpack (expected 3, got 2)
Solution
the function cv2.findContours()
has been changed to return only the contours and the hierarchy and not ret
you should change it to:
contours,hierachy=cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
Answered By - Rami Isam
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.