Cambiar el tamaño de una imagen con un factor de conversión no integral

7

Estoy redimensionando una imagen en función de un factor de conversión no integral (una imagen bmp, de hecho). Entiendo cómo funciona el cambio de tamaño, simplemente no con un número decimal. Por ejemplo, si el factor fuera 2, simplemente escribiría los píxeles individuales dos veces en el archivo de salida. Realmente no se puede escribir 1.5 píxeles si el factor fuera, por ejemplo, 1.5. Conceptualmente, ¿cómo podría funcionar esto?

    
pregunta Someone 17.10.2012 - 00:31

2 respuestas

6

No pienses en el proceso como "¿a dónde iría este píxel?", sino como "¿de dónde vino ese píxel?".

Entonces, es fácil ver que cada píxel en la imagen final provendrá de una posición en coordenadas fraccionarias en la imagen original, eso solo significa que tendrá un color que es un promedio ponderado de los píxeles cercanos.

Es por eso que Photoshop (y otros) le permite elegir el algoritmo de submuestreo. Algunos son más bonitos pero usan más píxeles de origen o necesitan cálculos más precisos, mientras que otros son rápidos y factibles con números enteros pero no tan atractivos.

    
respondido por el Javier 17.10.2012 - 00:48
5

Este es en realidad un gran tema. Lo que está preguntando se llama remuestreo de imagen . Y hay muchos algoritmos diferentes que pueden usarse. Vea el artículo de wikipedia para una introducción básica.

Pero como lo insinuó Javier, generalmente no tomas un píxel y escribes una versión a escala. Más bien, observa un píxel de destino y determina a qué píxeles de origen necesita hacer referencia y cómo ponderarlos para calcular el píxel de destino.

    
respondido por el GrandmasterB 17.10.2012 - 01:01

Lea otras preguntas en las etiquetas