He instalado OpenCV 2.2 y cuando intento utilizar drawContours me sale el siguiente error:Usando la función drawContours OpenCV en Python
cv.drawContours(frame, contours, 0, cv.RGB(255, 0, 0))
TypeError: <unknown> is not a numpy array
El código relacionado con este error es el siguiente:
storage = cv.CreateMemStorage(0)
contours = cv.FindContours (color_mask, storage, method = cv.CV_CHAIN_APPROX_SIMPLE)
cv.drawContours(frame, contours, 0, cv.RGB(255, 0, 0))
La documentación de Python no se corresponde con el orden correcto de los parámetros (sé el orden correcto gracias a IDLE) y la documentación de C++ para esta función no me ayuda mucho
Aquí está el código completo (código correspondiente):
cv.NamedWindow("MyWindow", 1)
capture = cv.CaptureFromCAM(0)
while 1:
frame = cv.QueryFrame(capture)
color_mask = cv.CreateImage(cv.GetSize(frame), 8, 1)
cv.InRangeS(frame, cv.Scalar(*min_color), cv.Scalar(*max_color), color_mask)
cv.CvtColor(frame, frame, cv.CV_BGR2HSV)
storage = cv.CreateMemStorage(0)
contours = cv.FindContours (color_mask, storage, method = cv.CV_CHAIN_APPROX_SIMPLE)
cv.drawContours(image = frame, contours = contours, contourIdx = 0, color = cv.RGB(255, 0, 0))
cv.ShowImage("MyWindow", frame)
Gracias de antemano
Los parámetros de función derecha no se corresponde con la referencia oficial (ya sé que suena estúpido). Si hago lo que dice, aparece el siguiente error: 'TypeError: argumento requerido 'contourIdx' (pos 3) no encontrado' – Manuel
¿podría mostrar el código? – P2bM
Después de un pequeño descanso, creo que el error podría estar en la generación de contornos – Manuel