Artículo de referencia interpolación vecina más cercana
artículo de referencia interpolación bilineal
Tarea: expandir 2x2 para duplicar
Interpolación de vecino más cercano (asigne píxeles desconocidos al elemento más cercano)
- (1) Cálculo
de la posición La posición del píxel está representada por el valor central. Cada píxel en la matriz de entrada tiene una unidad de longitud y ancho, es decir, la longitud y el ancho de la imagen de entrada son 1.
El índice de OpenCV comienza desde 0 y el índice de matlab comienza desde 1. Pero para simplificar, comenzaremos a indexar desde 0.5, lo que significa que nuestro primer píxel está en 0.5, el siguiente está en 1.5, y así sucesivamente, como se muestra a continuación,
por lo que la posición de cada píxel en la imagen de entrada es
{'10' : (0.5,0.5), '20': (1.5,0.5), '30': (0.5,1.5),
'40': (1.5,1.5)}
- Rellene la matriz 4x4
y compare las coordenadas de cada píxel desconocido calculado anteriormente con los píxeles de la imagen de entrada (proyecte la imagen 4 × 4 en la imagen de entrada 2 × 2) para encontrar el píxel más cercano, como el de P1 La posición (0.25, 0.25) es la más cercana a 10 (0.5, 0.5) en la matriz 2x2, por lo que el valor de P1 es 10, y así sucesivamente para el resto
Interpolación bilineal (aplica interpolación lineal en ambas direcciones)
-
La interpolación lineal
estima los dos puntos en el medio de acuerdo con 10 y 20, y predice asignando los pesos correspondientes a los puntos de los puntos conocidos. Cuanto más cerca de ese punto, mayor será el peso correspondiente. -
Interpolación bilineal Se conocen los valores
en (0, 0), (0, 1), (1, 0) y (1, 1), y se predicen los valores en (0.3, 0.4).
Pasos: (1) Primero encuentre el valor a lo largo de la línea por interpolación lineal, es decir, la posición A: (0,0.4) y B: (1,0.4)
(2) Después de obtener los valores en A y B, entre A y B De los puntos (0.3, 0.4) aplique interpolación lineal