Cómo leer imágenes PNG sin formato desde una matriz opencv usando Python
f = open ( 'frame.png', "rb")
rawImage = f. read()
F = open('frame.png', "rb")
rawImage = f.NamedWindow('display')
cv.MoveWindow('display', 10, 10)
cv.ShowImage('display', matImage)
p>cv.WaitKey(0)
1. Además, también en el caso de leer el archivo real, esto funcionará para rutas Unicode (probadas en Windows), use open( image_ full_path , 'rb') como img_stream:
file_bytes = numpy.asarray(bytearray(img_stream.read()), dtype=numpy.uint8)
img_data_ndarray = cv2.imdecode (file_bytes), dtype=numpy.uint8)
img_data_ndarray = cv2.imdecode(file_bytes), dtype=numpy.uint8)
2.imdecode(file_bytes, cv2.CV_LOAD_IMAGE_UNCHANGED)
img_data_cvmat = cv.fromarray(img_data_ndarray) # Convertir a cvmat antiguo si es necesario
2. Su pregunta parece estar etiquetada como Objective-C, pero está preguntando sobre Python, así que siga mi ejemplo. ¡Mi primera publicación sobre el desbordamiento de pila! CV. Parece ser lo que estás buscando. LoadImage (iscolor=CV_LOAD_IMAGE_COLOR) → Ninguno Carga una imagen de un archivo como IplImage:
filename (str): el nombre del archivo a cargar.
iscolor (int) -
Tipo de color específico de la imagen cargada:
CV_LOAD_IMAGE_COLOR La imagen cargada será forzada a ser una imagen en color de 3 canales p>
CV_LOAD_IMAGE_GRAYSCALE Las imágenes cargadas se forzarán a escala de grises
CV_LOAD_IMAGE_UNCHANGED Las imágenes cargadas se cargarán tal cual.
La función cvLoadImage carga una imagen del archivo especificado y devuelve un puntero a la imagen cargada. Actualmente se admiten los siguientes formatos de archivo: Mapas de bits de Windows: BMP, DIB
Archivos JPEG: JPEG, JPG, JPE
Gráficos de red portátiles: PNG
Imagen portátil formatos: PBM, PGM, PPM
Esta función carga una imagen del archivo especificado y devuelve el puntero a la imagen cargada.
PGM, PPM
Sun Grid - SR, RAS
Archivo TIFF - TIFF, TIF
Tenga en cuenta que el canal Alpha actual se eliminará de la imagen de salida ( Si está disponible), por ejemplo, una imagen RGBA de 4 canales se cargará como RGB.
3. Lo descubrí: # Leer rawImage del archivo. Leer rawImage desde un archivo, pero en realidad leer desde TCPServer
f = open('frame.png', "rb")
rawImage = f.read()
f.close()
f.open(StringIO(rawImage));
npImage = np.array(pilImage)
matImage = cv. fromarray(npImage)
# Mostrar
cv.NamedWindow('mostrar');
cv.NamedWindow('mostrar') . NamedWindow('display')
cv.MoveWindow('display', 10, 10)
cv.ShowImage('display', matImage)
cv .WaitKey(0)