Con OpenCV 2, IPython ahora usa matrices NumPy de forma predeterminada.Convertir matriz NumPy a 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
Desde cv2
utiliza arrays NumPy de forma predeterminada, ya no hay ninguna cv :: constructor Mat y NumPy no tiene funciones para convertir a una matriz cv::Mat
.
¿Alguna idea?
Sí, esto ya se ha respondido; en realidad, no le falta el segundo argumento, sino el primero. Sin embargo, vine aquí con otro problema: no todos los 'numpy.ndarray' de tipo' uint8' se pueden mostrar. Hice un corte, para obtener un solo canal de una imagen, como 'rojo = marco [:,:, 0]', y luego obtuve una excepción en 'imshow'. Sospecho que es debido a la escasez. 'red = frame [:,:, 0] .copy()' solucionó eso. –