Código de Python - Imagenes, ficheros tipo:.npy

Imágen de perfil

Imagenes, ficheros tipo:.npygráfica de visualizaciones


Python

Publicado el 12 de Enero del 2024 por Hilario (123 códigos)
242 visualizaciones desde el 12 de Enero del 2024
llama
Figure_1

********************************************************************************************************************


Aula-28-Trabajo_Imagenes.py
**********************************

Ejecución: python3 Aula-28-Trabajo_Imagenes.py



Utilizando los ficheros .npy, guardamos el array original de pixels en un fichero que llamamos: imagen.npy. Luego manipulamos la imagen a escala de grises en el fichero: imagen_gris.npy, que tambien guardamos, y abrimos para mostrar su modificación.

El sencillo ejercicio se puede manipular y modificar parámetros para observar resultados. Se tendrá en cuenta en sustituir la ruta de los archivos a tratar, que deben estar en el mismo directorio donde se encuentra: Aula-28-Trabajo_Imagenes.py

--------------------------------------------------------------------------------------------------------------------------------------

El ejercicio consiste en cargar una imagen en color, convertirla a escala de grises y guardar la imagen en escala de grises en un archivo.

El código del ejercicio se divide esquemáticamente en dos partes principales:

Parte 1: Cargar la imagen y convertirla a un array NumPy.
Parte 2: Convertir la imagen a escala de grises y guardarla en un archivo.
En la parte 1 del código, se utiliza la función Image.open() para cargar la imagen. A continuación, se utiliza la función resize() para cambiar el tamaño de la imagen a 180x180 píxeles. Por último, se utiliza la función img_to_array() para convertir la imagen a un array NumPy.

En la parte 2 del código, se utiliza la función rgb_to_grayscale() de TensorFlow para convertir la imagen a escala de grises. A continuación, se utiliza la función convert_image_dtype() para convertir la imagen a un tipo de datos NumPy de 8 bits. Por último, se utiliza la función save() para guardar la imagen en escala de grises en un archivo.

El código convierte la imagen original a escala de grises de forma correcta. La imagen en escala de grises conserva la información principal de la imagen original, pero pierde los detalles de color.

Requerimientos

Ejercicio realizado en Linux, concretamente en: Ubuntu 20.04.6 LTS
Editado con Sublime Text.

Tambien se puede editar y ejecutar con Google Colab.

V-0.
estrellaestrellaestrellaestrellaestrella(1)

Publicado el 12 de Enero del 2024gráfica de visualizaciones de la versión: V-0.
243 visualizaciones desde el 12 de Enero del 2024
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#Ejecución: python3 Aula-28-Trabajo_Imagenes.py
 
import tensorflow as tf
import matplotlib.pyplot as plt
from tensorflow.keras import layers, models
from PIL import Image
from tensorflow.keras.preprocessing.image import img_to_array, load_img
 
image_path = '/home/margarito/python/llama.jpg'
img=Image.open(image_path)
img = img.resize((180, 180))
img_array = tf.keras.preprocessing.image.img_to_array(img)
import numpy as np
np.set_printoptions(threshold=np.inf)  # Configurar para imprimir todo el array
 
# Suponiendo que 'img' es tu imagen
img_array = tf.keras.preprocessing.image.img_to_array(img)
 
np.save('imagen.npy', img_array)
import numpy as np
import matplotlib.pyplot as plt
 
# Ruta del archivo imagen.npy
ruta_imagen = '/home/margarito/python/imagen.npy'
 
# Cargar el array desde el fichero
loaded_array = np.load(ruta_imagen)
 
# Visualizar la imagen cargada desde el fichero
plt.imshow(loaded_array.astype(np.uint8))
plt.show()
 
 
import numpy as np
import tensorflow as tf
import matplotlib.pyplot as plt
 
# Cargar el archivo imagen.npy
ruta_archivo = '/home/margarito/python/imagen.npy'
imagen_array = np.load(ruta_archivo)
 
# Asegurarse de que los valores estén en el rango [0, 255]
imagen_array = np.clip(imagen_array, 0, 255).astype(np.uint8)
 
# Convertir a escala de grises
imagen_array_gris = tf.image.rgb_to_grayscale(imagen_array)
imagen_array_gris = tf.image.convert_image_dtype(imagen_array_gris, tf.uint8)
 
# Guardar la imagen en escala de grises en un nuevo archivo
ruta_archivo_gris = '/home/margarito/python/imagen_gris.npy'
np.save(ruta_archivo_gris, imagen_array_gris.numpy())
 
# Mostrar la imagen original y la imagen en escala de grises
plt.subplot(1, 2, 1)
plt.imshow(imagen_array)
plt.title('Recuperada imagen.npy')
 
plt.subplot(1, 2, 2)
plt.imshow(np.squeeze(imagen_array_gris.numpy()), cmap='gray')
plt.title(' Escala de Grises imagen_gris.npy')
 
plt.show()



Comentarios sobre la versión: V-0. (1)

juan
13 de Enero del 2024
estrellaestrellaestrellaestrellaestrella
señor como hago para hacerlo correr, baje Portable Python-3.10.5 x64.exe y lo descomprimi, luego fui a la carpeta ... \Python-3.10.5 x64 (portable)\Portable Python-3.10.5 x64\App\Python y alli pegue su ejemplo: Aula-28-Trabajo_Imagenes.py eche andar el python.exe y en la consola coloco Aula-28-Trabajo_Imagenes.py

y me aparece este mensaje

>>> Aula-28-Trabajo_Imagenes.py
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'Aula' is not defined
>>>

como hago para probar el ejemplo
Responder

Comentar la versión: V-0.

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s7481