Soy relativamente nuevo en el campo del procesamiento de imágenes y estoy un poco confundido con las transformaciones de imágenes. Así que entiendo que la idea básica detrás de la rotación/escalado/traducción/corte es multiplicar una matriz de 3x3 a las coordenadas homogéneas, lo que transforma los ejes de coordenadas a la configuración requerida. ¿Pero hacemos esta multiplicación de matrices para cada coordenada individualmente? Quiero decir, ¿no puedo expresar toda la imagen relevante como una matriz y de alguna manera tener el producto expresado como una sola operación de multiplicación de matrices?
Seguro que puede. Si "despliega" su imagen y apila los píxeles en una matriz "horizontal" , dónde es el número de píxeles, entonces puede aplicar la transformación con una sola multiplicación:
Un par de preocupaciones "logísticas". Primero, está transformando coordenadas , no valores de píxeles . En segundo lugar, no puede simplemente "mover" los valores de los píxeles para que coincidan con las nuevas coordenadas transformadas. Esto se debe a que habrá "agujeros" en la salida en lugares donde la transformación estiró las coordenadas. En cambio, lo que puedes hacer es volver a muestrear en una nueva imagen después de remodelar, usando la interpolación en los valores de la imagen original .