Imagen de aprendizaje característica señala Harris principios y procedimientos de detección de esquina

la imagen característica de aprendizaje --Harris detección de esquina (OpenCV-python)

La teoría del proyecto y el código fuente de los Tang Yu Di OpenCV combate proyecto


1 Información general

extracción de características

Un cuadro de extracción de características que, dividido en zonas planas, zonas fronterizas y zona esquinas. Esta consulta elemento ampliar el detector de esquinas de Harris sobre la base de los tres tipos de características.
Final del texto con el código de

2 Marco teórico

detección esquina Harris

¿Cómo distinguir las tres características de la imagen: Esquina, límite de la región plana.
Un bloque en la ventana de la imagen, y en movimiento pequeño (△ x, △ y) en una imagen, antes de calcular la correlación del movimiento de la ventana de la imagen.
características de la imagen
La autocorrelación se expresa como:
Aquí Insertar imagen Descripción
Esta función la etapa () se materializa en cv2.cornerHarris segundo parámetro indica el tamaño de la ventana.
A partir de la autocorrelación expresión puede verse: cuanto mayor sea el valor, mayor es el cambio de densidad antes y después del movimiento; cuanto menor sea el valor, menor es el cambio de gradación antes y después del movimiento
en particular, nos preocupa la imagen dentro de la ventana la porción central. En la expresión de autocorrelación, lo que aumenta el peso W (u, v), el valor de peso puede ser una constante o puede ser una función de ponderación Gaussiana, una función de ponderación gaussiana más comúnmente utilizado.
Es un término al cuadrado en la ventana delantera del valor gris original (u, v) píxeles después de la ventana móvil es un valor de gris del píxel en el punto (u + △ x + v + △ y).
Para cada píxel que se calcula, a continuación, la necesidad de simplificar expresiones.
Sobre la base de la expansión de Taylor de la término al cuadrado en un simplificado llevado a cabo:
Aquí Insertar imagen Descripciónla sustitución de correlación de auto-expresión, el primer término desaparece. En donde Ix y Iy es una derivada parcial.
Aproximada:
Aquí Insertar imagen Descripción
esta expresión aproximada se convierte en el producto de tres matrices. La obtención de valores propios de la matriz. Linear algebraica del valor propio de descomposición es una matriz en la forma
Aquí Insertar imagen Descripción
finalmente autocorrelación se puede expresar como:
Aquí Insertar imagen Descripción
en la que M (x, y) correspondiente al valor propio descomposición Σ
calculado M (x, y):
Aquí Insertar imagen Descripción
Matrix el mismo sub-diagonal, M (x, y) puede simplificarse como:
Aquí Insertar imagen Descripción
Desde M (x, y) 2 es una matriz simétrica real de filas y dos columnas, es posible obtener dos matriz de valores propios λ1, λ2. Con A, B, C representa la autocorrelación:
Aquí Insertar imagen Descripción
en donde
Aquí Insertar imagen Descripción
La expresión de la naturaleza del término cuadrático puede ser visto como un óvalo estilo analítico!
expresión correlación lineal elíptica es:
Aquí Insertar imagen Descripción
para hacer la expresión es igual a 1, para dar:
Aquí Insertar imagen Descripción
de nuevo para ver el perfil de la matriz:
Aquí Insertar imagen Descripción
se puede convertir en en λ1, λ2 matriz diagonal principal.
λ1 △ x ^ 2 + λ2 △ y ^ 2 = 1
y comparativo expresión elíptica:
Aquí Insertar imagen Descripción
A = lambda ^ (- 1/2)
B = [lambda] 2 ^ (- 1/2)
Aquí Insertar imagen Descripción

Cuanto mayor sea el valor de λ, la expresión a partir del valor de correlación más grande, cuanto mayor sea el valor de gris del pixel.
λ menor es el valor, el valor más pequeño de la expresión de correlación, lo que indica el valor de gris más pequeño es el pixel.

3 Conclusión

límite Un valor característica es grande, un pequeño valor propio, λ1 λ2 >> o << λ1 λ2, gran función de autocorrelación en una dirección, más pequeño en la otra dirección
piso Dos valores propios son más pequeños y aproximadamente igual a, la función de autocorrelación en cada pequeña dirección
esquina Dos valores propios son grandes, y aproximadamente igual a, la función de autocorrelación se aumentan en todas las direcciones

Para facilitar representado por respuesta al valor R de esquina en lugar comparar λ1, λ2 como un método de evaluación.
R = det M - α (traza
M) ^ 2 donde: M = det λ1 * λ2, traza M = λ1 + λ2, α es un coeficiente, por lo general ajustado a ( 0,04, 0,06 )

R <0 límite
R≈0 zona plana
R> 0 esquina

Resumir los procesos básicos Harris algoritmo de detección de esquina

  1. Cálculo de un gradiente Ix (u, v), Iy (u, v) usando el programa de operador gradiente Sobel calculado.
  2. Integrado en una matriz,
    Aquí Insertar imagen Descripción
    y calcula valores propios λ1, λ2.
  3. tamaño de la característica de comparación vale juez.
  4. supresión Non-maxima, que se define de la esquina (en la supresión detector de bordes de Canny no maximal también se utiliza antes)

Estos son los principios de los algoritmos de detección de esquina Harris, de la siguiente manera

código 4

import cv2
import numpy as np

img = cv2.imread('test_1.jpg')
print('img.shape:', img.shape)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# gray = np.float32(gray)
dst = cv2.cornerHarris(gray, 2, 3, 0.04)
print('dst.shape:',dst.shape)
img[dst > 0.01*dst.max()] = [0,0,255]
cv2.imshow('dst', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

se requiere función cv2.cornerHarris () para la imagen de entrada de datos en oat32 tipo de imagen fl la
primera imagen en una imagen en escala de grises, la imagen también con un np.float32 formato especial () para la conversión adicional.
función cv2.cornerHarris () del segundo parámetro es 2, representa el tamaño de la ventana.
función cv2.cornerHarris () es el tercer parámetro 3, que muestra el tamaño del operador Sobel. Recuerde Sobel dijo antes de que está haciendo con -------- calcula un gradiente IX es (U, V), Iy (U, V)
operador de Sobel como se muestra en la figura plantilla:
Aquí Insertar imagen Descripción
Sobel clásico visión por ordenador el algoritmo de detección de bordes, dos operadores se utilizan para detectar bordes en la dirección horizontal y la dirección vertical. Técnicamente, el operador de Sobel es un operador de diferencia discreta para calcular una aproximación del gradiente de la función de intensidad de imagen .

función cv2.cornerHarris () de la cuarta parámetro se establece en 0,04, el coeficiente R es valores de respuesta de vértice.
no se encuentra, la totalidad de la primera sección de la mitad explica el principio de una función que se encapsula en el carril :)
supresión de la no-maxima siguiente sentencia es mayor que el máximo del 1% es considerado como los puntos de esquina, dibujadas.
Mostrar resultados:
Aquí Insertar imagen Descripción

Hasta el momento, el proyecto de detección de esquina Harris se ha completado.
Gracias por la ayuda de mi blog, me un montón de trabajo duro hacen.

Efectivamente, Bella son rasgos faciales angulares
Aquí Insertar imagen Descripción
ah! Angular ...
conocer a la chica le diera la detección rincón favorito, espero que haya encontrado a la chica.

Publicado 10 artículos originales · ganado elogios 0 · Vistas 216

Supongo que te gusta

Origin blog.csdn.net/weixin_43227526/article/details/104979594
Recomendado
Clasificación