Red de conocimiento informático - Material del sitio web - Cómo leer imágenes PNG sin formato desde una matriz opencv usando Python

Cómo leer imágenes PNG sin formato desde una matriz opencv usando Python

La imagen PNG se transfiere desde mi iPhone a mi MacBook mediante TCP. ¿Qué tipo de imagen convierte el código de MacBook usando OpenCV? Escribí un programa de prueba que lee una imagen sin procesar de un archivo, pero no sé cómo convertirla a: # lee una imagen sin procesar de un archivo, pero en realidad lee desde un servidor TCP

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

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)