es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

El uso de findContours causa un ValueError: no hay suficientes valores para desempacar (se esperaban 3, se obtuvieron 2).

Estoy trabajando con RaspberryPi 3.
Estoy tratando de ejecutar este código, que muestra el siguiente error:

“Esperando a que el video se ajuste… Hecho.
Esperando el movimiento.
Esperando a que el video se ajuste… Hecho.
Esperando el movimiento.
Traceback (última llamada más reciente):
Archivo “/home/pi/Tracking-Turret/turret.py”, línea 418, en t.motion_detection(show_video=True)
Archivo “/home/pi/Tracking-Turret/turret.py”, línea 273, en motion_detection VideoUtils.find_motion(self.__move_axis, show_video=show_video)
Archivo “/home/pi/Tracking-Turret/turret.py”, línea 134, en find_motion c = VideoUtils.get_best_contour(thresh.copy(), 5000)
Archivo “/home/pi/Tracking-Turret/turret.py”, línea 158, en get_best_contour im, contours, hierarchy = cv2.findContours(imgmask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
ValueError: no hay suficientes valores para desempaquetar (se esperaban 3, se obtuvieron 2)”.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Este mensaje de error sugiere que hay un problema con la función ‘get_best_contour’ en el archivo ‘turrent.py’. Específicamente, parece que puede haber un problema con la función ‘cv2.findContours’ dentro de esta llamada. El mensaje de error indica que cv2.findContours está devolviendo solo 2 valores en lugar de los 3 esperados.

    Este problema podría ser causado por una discrepancia entre la versión de OpenCV que se está utilizando y la versión del código. Es posible que la función cv2.findContours haya cambiado su firma de retorno entre diferentes versiones de OpenCV.

    Para resolver este problema, el usuario podría intentar actualizar su versión de OpenCV para ver si eso resuelve el problema. Alternativamente, podrían intentar modificar la función ‘get_best_contour’ para manejar la firma de retorno inesperada de la función cv2.findContours.

Comments are closed.