Python: convertir imagen en string y viceversa

Para almacenar o transferir una imagen a algunos, necesitamos convertirla en una string de modo que la string represente la imagen que damos como entrada. Entonces, en Python, para hacer esta operación, es una tarea sencilla que no es complicada porque tenemos muchas funciones en Python disponibles.

Convertir imagen en string

  • Aquí primero importamos el método  » Base64 » para codificar la imagen dada
  • A continuación, abrimos nuestro archivo de imagen en modo rb , que se lee en modo binario.
  • Leemos nuestra imagen con image2.read() que lee la imagen y la codifica usando b64encode() Es un método que se usa para codificar datos en Base64 
  • Finalmente, imprimimos nuestra string codificada 

Imagen utilizada:

Python3

import base64
  
  
with open("food.jpeg", "rb") as image2string:
    converted_string = base64.b64encode(image2string.read())
print(converted_string)
  
with open('encode.bin', "wb") as file:
    file.write(converted_string)

Producción:

Esta es la salida de la imagen que se convierte en string usando Base64

Aquí obtuvimos el resultado, pero si se da cuenta en el inicio de la string, obtenemos esto b ‘ Esto lo podemos decir como una string codificada en Base64 en un par de comillas simples. Entonces, si queremos eliminar eso, podemos hacer lo siguiente reemplazando la declaración de impresión con print (my_string.decode (‘utf-8’))

Convertir string en imagen

Aquí, para convertirlo de una string, en realidad es un proceso inverso que también es un método directo

  • Primero importamos Base64. Luego abrimos nuestro archivo binario donde arrojamos nuestra string. Luego abra el archivo en modo rb que se lee en modo binario.
  • Almacene los datos que se leyeron del archivo en una variable. Luego cierra el archivo 
  • Luego solo proporcione cualquier nombre de archivo de imagen ( por ejemplo: «miimagen.png» ) y ábralo en modo wb Escriba en   binario 
  • Decodifique el binario con b64.decode() y luego cierre el archivo con .close()

Nota: Usaremos la string creada anteriormente para volver a convertirla en la imagen.

Python3

import base64
  
  
file = open('encode.bin', 'rb')
byte = file.read()
file.close()
  
decodeit = open('hello_level.jpeg', 'wb')
decodeit.write(base64.b64decode((byte)))
decodeit.close()

Producción:

Publicación traducida automáticamente

Artículo escrito por nishanthec19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *