¿Cómo elige el número óptimo de toques en un filtro de escala de imagen con ventana?

7

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.

Dennis Munsie
fuente
Esto también debe marcarse como una publicación wiki de la comunidad. Todavía no tengo la capacidad de hacerlo aquí, así que agradecería que alguien más pueda marcarlo de esa manera por mí.
Dennis Munsie
¿Por qué te gustaría hacer de este un wiki comunitario?
Phonon
¿Qué quieres decir cuando dices rendimientos decrecientes ?
Phonon
@Phonon Supongo que no hay una forma correcta de elegir el número de toques, por lo tanto, debería ser un wiki de la comunidad, ya que habrá más de una respuesta.
Dennis Munsie
1
Si está buscando una solución "óptima", debe proporcionar algún criterio de optimización. ¿Para qué aplicación planeas usarlo? ¿Cuáles son las principales limitaciones de su plataforma?
Jason R

Respuestas:

1

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 .

Olli Niemitalo
fuente
Buena respuesta @Olli, pero ¿no se aborda eso con acumuladores de precisión extendidos? (Por supuesto, no podemos extender indefinidamente, por lo que tal vez esa sea la restricción, pero podemos escalar entre etapas y aún mantener los términos de error acumulados suficientemente por debajo de nuestro piso de ruido de cuantificación de
ruta de
Por lo tanto, no discuta lo que dijo, pero es una pregunta para confirmar mi propia comprensión: si permite acumuladores de precisión extendidos, ¿aún ve una rodilla a medida que aumenta el tamaño de su filtro (suponga que podemos extendernos indefinidamente en log2 (N)).
Dan Boschen
@DanBoschen Me refiero al error de cuantización que alguien más introdujo en la imagen original.
Olli Niemitalo