Я установил OpenCV 2.2, и при попытке использовать drawContours я получаю следующую ошибку:
cv.drawContours(frame, contours, 0, cv.RGB(255, 0, 0))
TypeError: <unknown> is not a numpy array
Код, связанный с этой ошибкой, следующий:
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))
Документация Python не соответствует правильному порядку параметров (я знаю правильный порядок благодаря IDLE), и документация C ++ для этой функции мне не очень помогает
Вот полный код (соответствующий код):
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)
Заранее спасибо