Red de conocimiento del abogados - Cuestiones jurídicas del divorcio - En el algoritmo de filtrado de MATLAB, ¿cómo utilizar una plantilla para hacer coincidir varias imágenes?

En el algoritmo de filtrado de MATLAB, ¿cómo utilizar una plantilla para hacer coincidir varias imágenes?

(1) ?Una revisión de la transformación de características invariantes de escala

Es un algoritmo en visión por computadora que se utiliza para detectar y describir características locales en imágenes. Busca puntos extremos en una escala espacial y extrae sus invariantes de posición, escala y rotación.

Este algoritmo fue publicado por David Lowe en 1999 y resumido en 2004. Sus aplicaciones incluyen reconocimiento de objetos, percepción y navegación de mapas de robots, unión de imágenes, modelado 3D, reconocimiento de gestos, seguimiento de imágenes y comparación de movimiento. Este algoritmo tiene su propia patente y el propietario de la patente es la Universidad de Columbia Británica.

La descripción y detección de características de imágenes locales ayudan a identificar objetos. Las funciones SIFT se basan en algunos puntos de interés de apariencia local del objeto y son independientes del tamaño y la rotación de la imagen. La tolerancia a ligeros cambios de luz, ruido y ángulos de visión también es bastante alta. Según estas características, son muy importantes y relativamente fáciles de recuperar. En la enorme biblioteca de funciones de Motherhael, es fácil identificar objetos y hay pocos malentendidos. La tasa de detección de algunos objetos cubiertos por la descripción de características SIFT también es bastante alta, e incluso más de tres características de objetos SIFT son suficientes para calcular la posición y orientación. Con la velocidad actual del hardware de la computadora y la pequeña biblioteca de funciones, la velocidad de reconocimiento puede acercarse a la operación en tiempo real. Las funciones SIFT tienen una gran cantidad de información y son adecuadas para realizar coincidencias rápidas y precisas en bases de datos masivas.

(2) Las principales funciones del código Matlab son las siguientes: match.m: programa de prueba.

Función: esta función lee dos imágenes (en escala de grises), encuentra sus respectivas características SIFT y muestra las dos líneas rectas (que conectan los puntos clave correspondientes) que conectan los puntos característicos coincidentes (puntos clave coincidentes) en los dos imágenes. El criterio para juzgar una coincidencia es que la distancia de coincidencia sea menor que la relación de distancia multiplicada por la distancia hasta la siguiente coincidencia más cercana (una coincidencia se acepta sólo si su distancia es menor que la relación de distancia multiplicada por la distancia hasta la segunda coincidencia más cercana). ). El programa devuelve el número de pares coincidentes mostrados. (Devuelve el número coincidente mostrado). Ejemplo de llamada: match('desk.jpg', 'book.jpg');

Método de llamada y descripción del parámetro: omitido. Nota: (1) La imagen es una imagen en escala de grises. Si es una imagen en color, debe convertirse a escala de grises usando rgb2gray antes de llamar.

(2) El parámetro distRatio es el coeficiente que controla el número de puntos coincidentes. Aquí es 0,6, que determina el número de puntos coincidentes. Ajuste este parámetro en el archivo Match.m para obtener el número más apropiado de puntos coincidentes. Sift.m: el programa de algoritmo central de transformación de características invariantes de escala (algoritmo Sift)

Función: esta función lee la imagen en escala de grises y devuelve puntos clave SIFT. Método de llamada y descripción de parámetros:

Método de llamada: [imagen, descriptores, loc] = tamizar (archivo de imagen)? Parámetros de entrada:

ImageFile: nombre del archivo de imagen.

Parámetros de salida o retorno (return):

Imagen: es una matriz de imágenes en formato dual.

Descriptor: Una matriz x de K por 128, donde cada fila es un descriptor invariante de los K puntos clave encontrados. Este descriptor es un vector con 128 valores, normalizado a unidad de longitud.

Locs: es una matriz de K por 4, en la que cada fila tiene cuatro valores, que representan información de ubicación de puntos clave (coordenadas de fila en la fila de la imagen, coordenadas de columna (tenga en cuenta que la esquina superior izquierda de la imagen general es el origen de las coordenadas), escala, parámetros del espacio de escala gaussiano, que también determina el tamaño del disco de la imagen determinado por el marco (estructura). El último parámetro es la orientación.

Esta función crea una. nueva imagen, que contiene. Dos imágenes coincidentes y las líneas rectas que las conectan (3) Resultados reales de la ejecución del caso:

El código del programa se programa usando matlab y C. matlab abre el archivo sift_match.m. el archivo y lo ejecuta, como se muestra en la siguiente figura:

Como se puede ver en la figura anterior, hay 17 puntos coincidentes.