Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

OpenCV Python unsupported array type error

Tags:

python

opencv

I am new to Python (but not new to openCV) and I am pretty sure everything is installed correctly, I have tested some programs and the seem to work fine, but when ever I want to draw on an image, for example this code taken from a Python openCV tutorial :

import numpy as np
import cv2
# Create a black image
img = np.zeros((512,512,3), np.uint8)
# Draw a diagonal blue line with thickness of 5 px
img = cv2.line(img,(0,0),(511,511),(255,0,0),5)
cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

I get this following error:

OpenCV Error: Bad flag (parameter or structure field) (Unrecognized or unsupported array type) in cvGetMat, file /build/buildd/opencv-2.3.1/modules/core/src/array.cpp, line 2482
Traceback (most recent call last):
File "/home/dccv/rec 2.py", line 17, in <module>
cv2.imshow('img',img)
cv2.error: /build/buildd/opencv-2.3.1/modules/core/src/array.cpp:2482: error: (-206)
Unrecognized or unsupported array type in function cvGetMat

any help would be appreciated, I get the same error on both windows and ubuntu.

like image 344
user3140249 Avatar asked Dec 27 '13 18:12

user3140249


1 Answers

line function returns None so you're trying to show None.

The fix (on line 6) is to not set the img variable to the return value, instead just ignore the return value:

import numpy as np
import cv2
# Create a black image
img = np.zeros((512,512,3), np.uint8)
# Draw a diagonal blue line with thickness of 5 px
cv2.line(img,(0,0),(511,511),(255,0,0),5)
cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
like image 80
Velimir Mlaker Avatar answered Oct 15 '22 22:10

Velimir Mlaker