Python a réussi à résoudre le problème lors de l'appel de cv2: ValueError: pas assez de valeurs pour décompresser (attendu 3, obtenu 2)

Description du problème

En python, appelez la fonction findContours dans le package import cv2, et l'appel est le suivant:

# 寻找轮廓
bimg, contours, hier = cv2.findContours(gray, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)

Les problèmes suivants se produisent:

Traceback (most recent call last):
  File "C:\Users\Y\Desktop\transformation_demo.py", line 9, in <module>
    bimg, contours, hier = cv2.findContours(gray, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
ValueError: not enough values to unpack (expected 3, got 2)

analyse du problème

Étant donné que la version opencv du problème, l'héritage de l' opencvappel findContoursrenvoyé lorsque la fonction est à trois valeurs, la nouvelle version de l' opencvappel findContoursest renvoyée lorsque la fonction est à deux valeurs. La valeur de passage de la fonction findContours passe de trois valeurs à deux valeurs.

Donc, si votre version d'opencv est trop élevée et que vous passez trois valeurs, une erreur sera signalée.

problème résolu

Sera bimg, contours, hier = cv2.findContours(gray, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)changé en contours, hier = cv2.findContours(gray, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE), le problème est résolu avec succès.

Je suppose que tu aimes

Origine blog.csdn.net/ywsydwsbn/article/details/108441948
conseillé
Classement