Mit OpenCV 2 verwendet IPython nun NumPy Arrays standardmäßig.Konvertieren NumPy Array cvMat CV2
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
Da cv2
verwendet NumPy Arrays standardmäßig gibt es nicht mehr cv :: Mat Konstruktor und NumPy hat keine Funktionen zu einem cv::Mat
Array zu konvertieren.
Irgendwelche Ideen?
Ja, hat dies bereits beantwortet - Sie sind eigentlich nicht das zweite Argument fehlt, aber die erste. Ich kam jedoch mit einem anderen Problem hierher: nicht jedes "numpy.darray" vom Typ "uint8" kann angezeigt werden. Ich habe einen Slice gemacht, um einen einzelnen Kanal eines Bildes zu erhalten, wie 'red = frame [:,:, 0]', und bekam dann eine Ausnahme in 'imshow'. Ich vermute, es ist wegen der Sparsity. 'rot = frame [:,:, 0] .copy()' hat das behoben. –