Manejo de Imágenes

Introducción

Introducción a las Imágenes Digitales

Librerías

Pillow

Pillow1 es una librería basada en la librería PIL de Python. Para instalar Pillow se puede hacer mediante pip de la siguiente manera:

pip install Pillow
import numpy as np
from PIL import Image

if __name__ == "__main__":
    image = Image.open('imagen.jpg').convert('L')
    np_im = np.array(image)

OpenCV

OpenCV (Open Computer Vision)2 es una librería optimizada para trabajar con Visión por Computadora en tiempo real. Para instalar OpenCV se puede hacer mediante pip de la siguiente manera:

pip install opencv-contrib-python
import cv2
import numpy as np

if __name__ == "__main__":
    image = cv2.imread("imagen.jpg")
    np_im = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

Vector de Caracteristicas

Histograma

El histograma de una imagen resume la distribución de los valores que aparecen en una imagen. Tiene tantos elementos

Inception v3

Es un modelo de reconocimiento de imágenes3 que tiene una serie de componentes básicos simétricos y asimétricos.

Diagrama del módelo4

Inception v3 esta implementado en Tensorflow((https://www.tensorflow.org/)), que es una librería de Aprendizaje Máquina escrito en el lenguaje Python, para instalarlo se puede hacer mediante pip de la siguiente manera:

pip install tensorflow

Implementación en Python

from tensorflow.keras.applications.inception_v3 import InceptionV3
from tensorflow.keras.applications.inception_v3 import preprocess_input
from tensorflow.keras.preprocessing.image import img_to_array
from tensorflow.keras.preprocessing import image
import numpy as np

if __name__ == "__main__":
    model = InceptionV3(weights='imagenet', include_top=False)
    img = image.load_img("imagen.jpg", target_size=(224,224))
    x = img_to_array(img)
    x = np.expand_dims(x,axis=0)
    x = preprocess_input(x)
    feat = model.predict(x)
    np_im = feat.flatten()

Distancias

Euclidiana

La distancia euclidiana entre dos puntos en el espacio euclidio es la longitud del segmento de línea que une dichos puntos.

$$ d(x,y) = \sqrt{\sum_{i=1}^{n}(y_i-x_i)^2} $$

Cosine

$$ d(x,y) = 1 – \frac{x \cdot y}{\left | x \right | \times \left | y \right |} $$

  1. https://pillow.readthedocs.io/en/stable/ []
  2. https://opencv.org/ []
  3. https://arxiv.org/abs/1512.00567 []
  4. https://cloud.google.com/tpu/docs/inception-v3-advanced?hl=es-419 []