Estoy intentando usar un filtro para escalar una imagen y, en su mayor parte, tengo algo que parece funcionar. Pero ahora quiero poder generar un filtro con un número óptimo de toques. Sé en general que cuantos más grifos, mejor. Pero hay rendimientos decrecientes en cuanto a cada toque adicional aumentará la calidad de la imagen. Entonces, ¿cómo se puede elegir una serie de toques que hagan una buena compensación entre la complejidad de la implementación y la calidad de la imagen? ¿Existen medidas estándar que permitan evaluar diferentes filtros para algún filtro "ideal"?
Pensando más en esto, creo que en realidad son dos preguntas. Una es una cuestión de decidir qué ventana sinc utilizar (en este caso, ya he decidido usar lanczos2 o 3), esa es una pregunta más general que tiene varias compensaciones dependiendo de la aplicación. Pero una vez que se toma esa decisión, el número de tomas se determina fácilmente. Para lanczos2, el número ideal de toques es 4 y para lanczos3, el número ideal de toques es 6. La razón por la que no son 5 o 7 es que uno de esos toques siempre será cero debido a la ventana.
En el caso más general, creo que la manera fácil de establecer cuántos toques para una ventana determinada es simplemente decir:
taps = max - min
En el caso de lanczos2, el máximo es 2 y el mínimo es -2. Por lo tanto, grifos = 4.
fuente
Respuestas:
Las imágenes cuantificadas a una profundidad de bits tienen un error debido a la cuantización. Su filtro también introduce error, en comparación con el uso de un filtro ideal infinitamente grande. Usando filtros cada vez más grandes, eventualmente llegarás a una rodilla en el diagrama de error total vs tamaño de filtro donde esos dos errores son iguales. Después de eso, el error de cuantificación domina, por lo que no vale la pena mejorar aún más el filtro.
Una métrica de error comúnmente utilizada es la relación pico señal-ruido .
fuente