Coincidencia y aplicación de plantillas

Coincidencia y aplicación de plantillas

1) Coincidencia de plantillas

La coincidencia de plantillas es una técnica para encontrar la parte de una imagen que mejor coincide (de manera similar) con otra imagen de plantilla. La coincidencia de plantillas no se basa en histogramas, sino en

Es un método para hacer coincidir la plantilla y la imagen de entrada deslizando el bloque de imagen (plantilla) en la imagen de entrada y comparando la similitud al mismo tiempo.
inserte la descripción de la imagen aquí
solicitud:

① Búsqueda y posicionamiento de objetivos
② Seguimiento de objetos en movimiento
③ Otros...

Coincidencia de plantillas: cv2.matchTemplate()

inserte la descripción de la imagen aquí
⚫ imagen: la imagen que se buscará (imagen grande)
⚫ templ: la plantilla de búsqueda, que debe tener el mismo tipo de datos que la imagen original y cuyo tamaño no puede ser mayor que la imagen de origen
⚫ resultado: la imagen mapeada de la resultado de la comparación, que debe ser una imagen de punto flotante de 32 bits de un solo canal, si el tamaño de la imagen original (imagen que se va a buscar) es ancho x alto,

Si el tamaño de la plantilla es wxh, el tamaño del resultado debe ser (W-w+1)x(H-h+1)
⚫ método: El método de coincidencia especificado, hay los siguientes 6 tipos:
cv2.TM_SQDIFF ----- -Método de coincidencia de diferencia cuadrática (mejor coincidencia 0) cv2.TM_SQDIFF_NORMED ------ método de coincidencia de diferencia cuadrática normalizada (mejor coincidencia 0) cv2.TM_CCORR ------ método de coincidencia de correlación (peor coincidencia 0) cv2.TM_CCORR_NORMED - ----- método de coincidencia de correlación normalizada (peor coincidencia 0) cv2.TM_CCOEFF ------ método de coincidencia de coeficientes (mejor coincidencia 1) cv2.TM_CCOEFF_NORMED ------ método de coincidencia de coeficientes de correlación normalizada (mejor coincidencia 1)

res = cv2 .matchTemplate (img,temp,CV2 .TM CCORR NORMED)
min_val, max_val, min_loc, max_loc = cv2 .minMaxLoc (res)

En general, a medida que pasamos de medidas simples (diferencias al cuadrado) a medidas más complejas (coeficientes de correlación), obtenemos coincidencias cada vez más precisas (lo que también significa cálculos cada vez más grandes).

Lo mejor que puede hacer es experimentar un poco con todas estas configuraciones para elegir la mejor combinación de velocidad y precisión para su aplicación.

inserte la descripción de la imagen aquí

Normalización de matrices—cv2.normalize()

inserte la descripción de la imagen aquí
⚫src: ingrese la imagen original
⚫dst: emita la imagen resultante, que debe tener el mismo tamaño y tipo que la imagen original
⚫alfa: el valor mínimo después de la normalización, el valor predeterminado es 1
⚫beta: el valor máximo después de la normalización , el valor por defecto es 0
⚫norm_type: tipo de normalización, opcional NORM_INF, NORM_L1, NORM_L2 (predeterminado), etc.
⚫dtype: valor por defecto -1, cuando este parámetro es negativo, la matriz de salida y src tienen el mismo tipo
⚫mask: operación de máscara opcional

cv2.normalize(roihist,roihist,0,255,CV2.NORM_MINMAX)

El papel de normalize0) es normalizar la matriz.

Encuentre el valor máximo: cv2.minMaxLoc()
inserte la descripción de la imagen aquí
⚫src: ingrese la imagen original, imagen de un solo canal
⚫minVal: devuelva el puntero del valor mínimo, si no necesita regresar, establezca 0
⚫maxVal: devuelva el puntero del valor máximo, si no se necesita volver ponerlo a 0
⚫minLoc: Devolver el puntero de la posición mínima, si no es necesario volver poner a 0
⚫maxLoc: Devolver el puntero de la posición máxima, si no es necesario volver, poner a 0
⚫máscara: Funcionamiento máscara opcional

res = cv2 .matchTemplate (img ,temp,CV2 .TM CCORR NORMED)
min val, max val, min loc, max loc = cv2 .minMaxLoc(res)

El propósito de la función minMaxLoc0) es encontrar los valores mínimos y máximos globales en la matriz.

inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/weixin_40911806/article/details/130053018
Recomendado
Clasificación