You are on page 1of 5

- Instala la librería opencv-contrib-python

- Importa la librería cv2

- Muestra la versión de la librería previamente descargada.

- El método cv2.imread() carga una imagen del archivo especificado. Si la imagen no se


puede leer (debido a la falta de un archivo, permisos incorrectos, formato no compatible o
no válido), este método devuelve una matriz vacía.
- El método cv2.imshow() se usa para mostrar una imagen en una ventana. La ventana se
ajusta automáticamente al tamaño de la imagen.

- El método .shape muestra las dimensiones de una imagen dada, como la altura de la
imagen, el ancho de la imagen y la cantidad de canales en la imagen.

- El método cv2.cvtColor() se utiliza para convertir una imagen de un espacio de color a


otro.
- El método cv2. COLOR_BGR2GRAY convertir entre RGB/BGR y escala de grises,
conversiones de color
- El método cv2.imshow() se usa para mostrar una imagen en una ventana. La ventana se
ajusta automáticamente al tamaño de la imagen.

- La función print() imprime el mensaje especificado en la pantalla u otro dispositivo de


salida estándar. El mensaje puede ser una cadena o cualquier otro objeto, el objeto se
convertirá en una cadena antes de escribirse en la pantalla.
- El método. shape muestra las dimensiones de una imagen dada, como la altura de la
imagen, el ancho de la imagen y la cantidad de canales en la imagen.

- Se usa el método print para imprimir la escala de colores de la imagen.

SIFT

- Clase para extraer puntos clave y descriptores informáticos utilizando el algoritmo Scale
Invariant Feature Transform

- la función detectAndCompute sirve para obtener los puntos clave. Devolverá dos valores:
los puntos clave y los descriptores.
- Imprime la cantidad de puntos que encontró.

- Utilizamos el método drawKeypoints() en OpenCV para poder dibujar los puntos clave
identificados en una imagen dada. La imagen de entrada, los puntos clave, el color y la
bandera se envían al método.

SURF

- Clase para extraer características robustas aceleradas de una imagen.

- la función detectAndCompute sirve para obtener los puntos clave. Devolverá dos valores:
los puntos clave y los descriptores.

- Imprime la cantidad de puntos que encontró.


- Utilizamos el método drawKeypoints() en OpenCV para poder dibujar los puntos clave
identificados en una imagen dada. La imagen de entrada, los puntos clave, el color y la
bandera se envían al método.

ORB

- Clase que implementa el extractor de descriptores y detector de puntos clave ORB (BRIEF
orientado)

- la función detectAndCompute sirve para obtener los puntos clave. Devolverá dos valores:
los puntos clave y los descriptores.

- Imprime la cantidad de puntos que encontró.

- Utilizamos el método drawKeypoints() en OpenCV para poder dibujar los puntos clave
identificados en una imagen dada. La imagen de entrada, los puntos clave, el color y la
bandera se envían al método.
Análisis de los algoritmos
SIFT:

El algoritmo resuelve la rotación de imágenes, las transformaciones afines, la intensidad y el


cambio de punto de vista en las características coincidentes. El algoritmo SIFT tiene 4 pasos
básicos.

- Estimar los extremos de un espacio de escala usando la Diferencia de Gaussiana (DoG).


- Localización de puntos clave en la que los candidatos a puntos clave se localizan y refinan
eliminando los puntos de bajo contraste.
- Asignación de orientación de puntos clave basada en el gradiente de imagen local y,
- Generador de descriptores para calcular el descriptor de imagen local para cada punto
clave en función de la orientación y la magnitud del gradiente de imagen.

SURF

Este algoritmo se aproxima al DoG con filtros de caja. En lugar de un promedio gaussiano de la
imagen, se usan cuadrados para la aproximación, ya que la convolución con el cuadrado es mucho
más rápida si se usa la imagen integral. También esto se puede hacer en paralelo para diferentes
escalas. El SURF utiliza un detector BLOB que se basa en la matriz de Hesse para encontrar los
puntos de interés. Para la asignación de orientación, utiliza respuestas de wavelet tanto en
dirección horizontal como vertical mediante la aplicación de pesos gaussianos adecuados. Para la
descripción de funciones, SURF también utiliza las respuestas wavelet. Se selecciona una vecindad
alrededor del punto clave y se divide en subregiones y luego para cada subregión se toman y
representan las respuestas wavelet para obtener el descriptor de características SURF. El signo de
Laplaciano que ya está calculado en la detección se utiliza para los puntos de interés
subyacentes. El signo del Laplaciano distingue las manchas brillantes sobre fondos oscuros del
caso inverso. En caso de coincidencia, las características se comparan solo si tienen el mismo tipo
de contraste (basado en el signo), lo que permite una coincidencia más rápida.

ORB

El algoritmo se trata de una fusión del detector de punto clave FAST y el descriptor BRIEF con
algunas modificaciones. Inicialmente para determinar los puntos clave, utiliza FAST. Luego se
aplica una medida de esquina de Harris para encontrar los N puntos superiores. FAST no calcula la
orientación y es una variante de rotación. Calcula el centroide ponderado por intensidad del
parche con la esquina ubicada en el centro. La dirección del vector desde este punto de esquina
hasta el centroide da la orientación. Los momentos se calculan para mejorar la invariancia de
rotación. El descriptor BRIEF funciona mal si hay una rotación en el plano. En ORB, se calcula una
matriz de rotación usando la orientación del parche y luego el BRIEF los descriptores se dirigen de
acuerdo con la orientación.

You might also like