¿Necesita usar un filtro de paso bajo antes de reducir el tamaño de una imagen?


8

Aparentemente, la interpolación de píxeles bicúbicos es buena para ampliar o reducir una imagen (en tiempo real o no).

Sin embargo, ¿se recomienda usar un filtro de paso bajo antes de reducir el tamaño, o el muestreo bicúbico maneja los problemas de alias?


1
Estoy un poco confundido acerca de su premisa ... ¿en qué se diferencia cualitativamente un filtro de paso bajo de la disminución de muestreo? Quiero decir, entiendo que los algoritmos son diferentes y todos, pero ambos recogen muestras de píxeles vecinos y suprimen las frecuencias altas. La gran diferencia es la resolución de la imagen resultante, de lo contrario, las dos operaciones son isomorfas. Parece que aplicar ambos es redundante.
Jorge Rodríguez

Bueno, esto es lo que me confunde. Sé que no puede simplemente reducir la imagen de una imagen sin obtener alias. Hacer una interpolación bicúbica de píxeles al hacer una imagen más grande funciona muy bien y se ve bien. Hacer lo mismo al hacer que una imagen parezca más pequeña para funcionar decentemente, pero no estaba seguro de si el resultado podría tener muchos alias como resultado. Me preguntaba si, técnicamente, tendrías que hacer algún tipo de filtro de paso bajo en la imagen antes de hacer el muestreo bicúbico, o si el muestreo bicúbico era lo suficientemente bueno en la práctica. Pude ver que es un tipo de filtro de paso bajo por sí mismo tal vez.
Alan Wolfe el

1
Ese artículo de Mitchell-Netravali que mencioné en la otra pregunta aborda esta idea específicamente: generalizó los cúbicos y luego encontró los parámetros que menos alias. Eso no significa que no tengan alias en absoluto, pero tal vez lo dirija hacia qué cúbico usar para minimizar el alias.
Jorge Rodríguez

Respuestas:


7

Si el paso de disminución de resolución está diseñado correctamente, realizará efectivamente un filtrado de paso bajo como parte de la disminución de resolución. No hay necesidad de una operación de filtro de paso bajo separada.

Esencialmente, cuando disminuye la muestra, está realizando un filtro sobre los píxeles de la imagen de origen (alta resolución), pero solo lo evalúa en las ubicaciones de los píxeles de destino (baja resolución). La huella de este filtro debe ser aproximadamente el espacio entre los píxeles de destino, para evitar la falta de información saltando los píxeles de origen. Pero eso significa que la huella del filtro tendrá varios píxeles de origen de ancho, por lo que efectivamente pasará la fuente.

Por ejemplo, supongamos que reduce la imagen de una imagen exactamente 10x en cada eje. Con un filtro de cuadro (por ejemplo), establecería cada píxel de destino en el promedio de un cuadro de 10x10 píxeles de origen. Eso eliminaría cualquier característica menor a 10px, por lo que es efectivamente un filtro de paso bajo.

Usted menciona la interpolación bicúbica; Tenemos que hacer una distinción entre filtrado e interpolación aquí. La interpolación es apropiada para el muestreo ascendente, no para el muestreo descendente. La interpolación bicúbica funciona ajustando un parche de spline bicúbico a una vecindad de píxeles 4x4, luego evaluando el parche en puntos interpolados. Si bien puede funcionar lo suficientemente bien para reducir las imágenes por un pequeño factor (hasta 2 veces más o menos), fallará si va mucho más allá. Por ejemplo, si la disminución de muestreo es 10x como en el ejemplo anterior, puede ver que bicubic perderá la mayoría de los píxeles de origen y el resultado puede ser bastante confuso.

Por otro lado, el filtrado bicúbico es solo un filtrado estándar, que utiliza un núcleo que es una función bicúbica (a diferencia de un núcleo de caja, triángulo, gaussiano, Lanczos, etc.). El núcleo Mitchell-Netravali es el ejemplo clásico de este tipo. Si se usa para reducir el muestreo, el núcleo debe tener el tamaño apropiado para el espacio de píxeles de destino como se discutió anteriormente, y sumaría todos los píxeles en la huella, no solo un 4x4 u otro vecindario de tamaño fijo.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.