Introducción
Python es un lenguaje de programación interpretado con una sintaxis que favorece un código legible. Soporta orientación a objetos, programación imperativa y, en menor medida, programación funcional. También posee licencia de código abierto.
Una de sus grandes virtudes es la posibilidad de automatizar procesos que se hacen de manera mecánica. Reducirlos a unas líneas de código que podremos insertar donde necesitemos, ahorrando mucho tiempo que podremos aprovechar para otras tareas más interesantes.
Dentro de los lenguajes de programación, Python destaca por su sencillez, legibilidad y precisión de sintaxis. Es un lenguaje de muy alto nivel, por lo que con pocas líneas de código es posible programar tareas bastante complejas. Este lenguaje es práctico en cuanto al uso del código.
En este ejemplo de utilización de Python ecualizaremos una imagen con unas pocas líneas de código.
La ecualización del histograma de una imagen es una transformación para obtener un histograma con una distribución uniforme. Es decir, que exista el mismo número de pixels para cada nivel de color del histograma
El resultado de la ecualización maximiza el contraste de una imagen sin perder información.
Antes de nada nos descargaremos a nuestro equipo Anaconda, que es una distribución gratuita y de código abierto de los lenguajes de programación Python y R para aplicaciones relacionadas con ciencia de datos y aprendizaje automático.
Pasos prácticos
Descargamos anaconda de
Una vez instalado Anaconda veremos una pantalla similar a esta.
Anaconda incluye El Notebook Jupyter que es una aplicación web de código abierto que le permite crear y compartir documentos que contienen códigos, ecuaciones, visualizaciones y textos narrativos. Se puede utilizar para limpieza y transformación de datos, simulación numérica, modelado estadístico, visualización de datos y aprendizaje entre otras cosas.
Lanzamos el editor Jupyter pulsando el botón Launch de la aplicación que aparece en la pantalla de entrada de Anaconda. Hecho esto veremos los directorios de la instalación, elegimos el directorio pictures.
Previamente habremos dejado en este directorio una imagen cualquiera en formato .jpg para ecualizar. De tal modo que al elegir pictures veamos nuestro fichero cargado. Ahora pulsamos el combo de la derecha donde dice New.
Elegimos nuestro lenguaje de programación, en este caso Python3 que será con el que trabajaremos.
Hecho esto, el editor jupyter nos abre un editor de líneas de código, sobre el que escribiremos nuestras instrucciones.
Tecleamos:
import sys
sys.version
Y pulsamos sobre el botón Run de la barra superior para ejecutar la instrucción, esto como salida nos mostrará la versión de Anaconda instalada.
Como es un lenguaje interpretado, podemos ir escribiendo trozos de código y ejecutándolos sin necesidad de escribir un programa completo.
Después escribimos las siguientes líneas.
Import numpy as np
Import matplotlib.pyplot as plt
From PIL import Image, ImageOps
%matplotlib inline
Y lo ejecutamos.
Buscamos la ubicación física de la imagen
También podemos ver si está, desde el editor haciendo %ls.
Al elegirla nos muestra sus datos.
Ahora escribimos
type(img)
img.shape
img_pil = Image.fromarray(np.uint88(img))
img_pil = ImageOps.equalize(img.pil)
plt.imshow(img_pil)
Al escribir estas líneas y pulsar Run vemos la imagen ecualizada.
Ahora podemos ver el histograma inicial tecleando:
img2 = np.asarray(img_pil)
plt.imshow(img2)
plt.hist(img.ravel())
Y poniendo plt.hist(img2.ravel()) vemos el histograma ecualizado.
Finalmente podemos guardar la imagen ecualizada haciendo:
np.save(‘mi_imagen’, img2) #.npy
%ls
np.load(‘mi_imagen.npy’)
De este modo la imagen ecualizada se guarda en formato Pyhton.
No hay comentarios:
Publicar un comentario