Редактировать: оригинальное название "конвертировать массив numpy в cvmat" было ошибкой - сообщение об ошибке OpenCV было менее чем полезным, и я не читал документы!
с OpenCV 2, IPython теперь по умолчанию использует массивы NumPy.
cvimage = cv2.imread("image.png") #using OpenCV 2
type(cvimage)
Out: numpy.ndarray #dtype is uint8
pltimage = plt.imread("image.png") #using Matplotlib
type(pltimage)
Out: numpy.ndarray #dtype is float
plt.imshow(cvimage) # works great
cv2.imshow(cvimage)
TypeError: Required argument 'mat' (pos 2) not found
Поскольку cv2
по умолчанию использует массивы NumPy, конструктор cv :: Mat больше не существует, а NumPy не имеетфункции для преобразования в массив cv::Mat
.
Есть идеи?