Cuando se disminuye la resolución de una imagen por un factor entero , el método obvio es establecer los píxeles de la imagen de salida en el promedio de los bloques n × n correspondientes en la imagen de entrada.
Recuerdo haber leído vagamente en alguna parte que este método no es óptimo (lo siento, no recuerdo ningún detalle)
¿Es cierto que hay un método mejor (y si es así, ¿dónde falla el método anterior, aunque parece "obviamente" correcto)? No sé mucho sobre el procesamiento de señales, esta pregunta solo me interesa.
image-processing
sampling
Styg Oldenbaum
fuente
fuente
Respuestas:
La disminución de una imagen reduce el número de muestras que pueden representar la señal. En términos de dominio de frecuencia, cuando una señal se muestrea por debajo, la porción de alta frecuencia de la señal se alias con la porción de baja frecuencia. Cuando se aplica al procesamiento de imágenes, el resultado deseado es preservar solo la porción de baja frecuencia. Para hacer esto, la imagen original debe ser preprocesada (filtrado de alias) para eliminar la porción de alta frecuencia para que no se produzca aliasing.
El filtro digital óptimo para eliminar la porción de alta frecuencia (con el corte más nítido) es la función sinc . La razón es que la representación del dominio de frecuencia de la función Sinc es casi 1 constante en toda la región de baja frecuencia, y casi constante 0 en toda la región de alta frecuencia.
La respuesta al impulso del filtro sinc es infinita. El filtro de Lanczos es un filtro sinc modificado que atenúa los coeficientes sinc y los trunca una vez que los valores caen a insignificancia.
Sin embargo, ser óptimo en el dominio de la frecuencia no implica ser óptimo en los ojos humanos. Existen métodos de muestreo ascendente y descendente que no obedecen a las transformaciones lineales pero producen mejores resultados que los lineales.
El requisito mínimo en la correspondencia de coordenadas es que
fuente
Tiene razón en que el promedio de área es bastante cercano al "más correcto" que puede obtener, pero el problema es un comportamiento inconsistente al reducir la escala de una línea de ancho N por un factor de N. Si la ubicación de la línea está alineada módulo N, obtendrá una línea nítida de 1 píxel, pero si es aproximadamente N / 2 mod N, obtendrá una línea muy borrosa (2 píxeles de ancho a media intensidad). Esto puede verse muy mal, y con gamma no lineal, incluso resultará en diferencias de intensidad. (Idealmente, todo muestreo debe realizarse con gamma corregido para una escala de intensidad lineal, pero en la práctica casi nadie lo hace porque es realmente costoso).
Si desea mejorar esto, primero debe aceptar el hecho de que es imposible reducir el desenfoque en algunos casos, por lo que la única forma de obtener un resultado uniforme consiste en aumentar el desenfoque. La forma ideal es usar un núcleo gaussiano con un radio mayor que N / 2, en lugar de una función de paso, como la función de convolución con la imagen de origen. Sin embargo, una forma económica de abordar una aproximación, si ya tiene su implementación de promediación de área N-por-N, es simplemente aplicar una convolución borrosa (1 / 4,1 / 2,1 / 4) a la muestra disminuida resultante imagen.
fuente