De Wikipedia, la enciclopedia libre
  (Redirigido desde Remuestreo (mapa de bits) )
Saltar a navegación Saltar a búsqueda
Una imagen escalada con escala de vecino más cercano (izquierda) y escala de 2 × SaI (derecha)

En gráficos por computadora e imágenes digitales , el escalado de imágenes se refiere al cambio de tamaño de una imagen digital. En la tecnología de video, la ampliación de material digital se conoce como mejora de la resolución o escalamiento .

Al escalar una imagen de gráfico vectorial , las primitivas gráficas que componen la imagen se pueden escalar utilizando transformaciones geométricas, sin pérdida de calidad de imagen . Al escalar una imagen de gráficos de mapa de bits , se debe generar una nueva imagen con un número mayor o menor de píxeles. En el caso de disminuir el número de píxeles (reducir la escala), esto generalmente da como resultado una pérdida de calidad visible. Desde el punto de vista del procesamiento de señales digitales , el escalado de gráficos de trama es un ejemplo bidimensional de conversión de frecuencia de muestreo , la conversión de una señal discreta de una frecuencia de muestreo (en este caso, la frecuencia de muestreo local) a otra.

Matemática [ editar ]

El escalado de imágenes se puede interpretar como una forma de remuestreo de imágenes o reconstrucción de imágenes desde el punto de vista del teorema de muestreo de Nyquist . De acuerdo con el teorema, la reducción de resolución a una imagen más pequeña de un original de mayor resolución solo se puede realizar después de aplicar un filtro anti-aliasing 2D adecuado para evitar artefactos de aliasing. La imagen se reduce a la información que puede llevar la imagen más pequeña.

En el caso del muestreo ascendente, un filtro de reconstrucción sustituye al filtro de suavizado.

  • Imagen original de 160x160px

  • Imagen original en el dominio de la frecuencia espacial

  • Filtro de paso bajo 2D , pero aún a 160x160px

  • Imagen filtrada en el dominio de frecuencia espacial

  • Imagen de 160x160px filtrada de paso bajo 4 × reducida a 40x40px 

  • 4 × muestreo de Fourier de 40x40px de imagen reducida a 160x160px (reconstrucción correcta)

  • 4 × muestreo de Fourier de una imagen de 40x40 px con muestreo reducido a 160x160 px (con aliasing)

Un enfoque más sofisticado de ampliación trata el problema como un problema inverso , resolviendo la cuestión de generar una imagen plausible, que, cuando se reduce, se vería como la imagen de entrada. Se han aplicado una variedad de técnicas para esto, incluidas las técnicas de optimización con términos de regularización y el uso de aprendizaje automático a partir de ejemplos.

Algoritmos [ editar ]

El tamaño de una imagen se puede cambiar de varias formas.

Interpolación de vecino más cercano [ editar ]

Una de las formas más sencillas de aumentar el tamaño de la imagen es la interpolación del vecino más cercano , reemplazando cada píxel con el píxel más cercano en la salida; para aumentar la escala, esto significa que estarán presentes varios píxeles del mismo color. Esto puede preservar los detalles nítidos en el arte de píxeles, pero también introducir irregularidades en imágenes previamente suaves. 'Más cercano' en vecino más cercano no tiene por qué ser el matemático más cercano. Una implementación común es siempre redondear hacia cero. El redondeo de esta forma produce menos artefactos y es más rápido de calcular.

Algoritmos bicúbicos y bilineales [ editar ]

La interpolación bilineal funciona interpolando los valores de color de los píxeles, lo que introduce una transición continua en la salida incluso cuando el material original tiene transiciones discretas. Aunque esto es deseable para imágenes de tono continuo, este algoritmo reduce el contraste (bordes nítidos) de una manera que puede ser indeseable para el arte lineal. La interpolación bicúbica produce resultados sustancialmente mejores, con un aumento en el costo computacional.

Remuestreo de Sinc y Lanczos [ editar ]

El remuestreo de Sinc, en teoría, proporciona la mejor reconstrucción posible para una señal perfectamente limitada en banda. En la práctica, las suposiciones detrás del remuestreo sinc no se cumplen completamente con imágenes digitales del mundo real. El remuestreo de Lanczos , una aproximación al método sinc, produce mejores resultados. La interpolación bicúbica se puede considerar como una aproximación computacionalmente eficiente al remuestreo de Lanczos.

Muestreo de caja [ editar ]

Una debilidad de los algoritmos bilineales, bicúbicos y relacionados es que muestrean un número específico de píxeles. Cuando se reduce la escala por debajo de un cierto umbral, como más del doble para todos los algoritmos de muestreo doble, los algoritmos tomarán muestras de píxeles no adyacentes, lo que da como resultado la pérdida de datos y los resultados aproximados.

La solución trivial a este problema es el muestreo de cajas, que consiste en considerar el píxel de destino como una caja en la imagen original y muestrear todos los píxeles dentro de la caja. Esto asegura que todos los píxeles de entrada contribuyan a la salida. La mayor debilidad de este algoritmo es que es difícil de optimizar.

Mipmap [ editar ]

Otra solución al problema de escala descendente de la escala de bi-muestreo son los mapas MIP . Un mapa mip es un conjunto preescalado de copias a escala reducida. Al reducir la escala, el mapa mip más grande más cercano se utiliza como origen, para garantizar que no se utilice ninguna escala por debajo del umbral útil de escala bilineal. Este algoritmo es rápido y fácil de optimizar. Es estándar en muchos marcos como OpenGL . El costo es usar más memoria de imagen, exactamente un tercio más en la implementación estándar.

Métodos de transformada de Fourier [ editar ]

La interpolación simple basada en la transformada de Fourier rellena el dominio de frecuencia con componentes cero (un enfoque suave basado en ventanas reduciría el timbre ). Además de la buena conservación (o recuperación) de los detalles, destaca el repique y el sangrado circular del contenido desde el borde izquierdo al derecho (y viceversa).

Interpolación dirigida al borde [ editar ]

Los algoritmos de interpolación dirigida por bordes tienen como objetivo preservar los bordes en la imagen después de escalar, a diferencia de otros algoritmos, que pueden introducir artefactos de escalera.

Ejemplos de algoritmos para esta tarea incluyen Nueva interpolación dirigida por bordes (NEDI), [1] [2] Interpolación de imágenes guiada por bordes (EGGI), [3] Interpolación basada en curvatura iterativa (ICBI), [4] y Convolución cúbica direccional Interpolación (DCCI). [5] Un análisis de 2013 encontró que DCCI tenía las mejores puntuaciones en PSNR y SSIM en una serie de imágenes de prueba. [6]

hqx [ editar ]

Para magnificar gráficos de computadora con baja resolución y / o pocos colores (generalmente de 2 a 256 colores), se pueden lograr mejores resultados con hqx u otros algoritmos de escalado de pixel art . Estos producen bordes afilados y mantienen un alto nivel de detalle.

Vectorización [ editar ]

La extracción de vectores, o vectorización , ofrece otro enfoque. La vectorización primero crea una representación vectorial independiente de la resolución del gráfico que se va a escalar. Luego, la versión independiente de la resolución se renderiza como una imagen rasterizada con la resolución deseada. Esta técnica es utilizada por Adobe Illustrator , Live Trace e Inkscape . [7] Los gráficos vectoriales escalables se adaptan bien a imágenes geométricas simples, mientras que a las fotografías no les va bien con la vectorización debido a su complejidad.

Redes neuronales convolucionales profundas [ editar ]

Este método utiliza el aprendizaje automático para imágenes más detalladas, como fotografías y obras de arte complejas. Los programas que utilizan este método incluyen waifu2x , Imglarger y Neural Enhance.

Demostración del aumento de escala convencional frente al aumento de escala de Waifu2x con reducción de ruido, utilizando un detalle de Phosphorus y Hesperus de Evelyn de Morgan . Haga clic para ver los tamaños completos.
Imagen mejorada en un 200% con PaintShop Pro
Imagen mejorada en un 200% usando waifu2x en modo Foto con reducción de ruido media
Imagen mejorada en un 400% usando Topaz AI Gigapixel con baja reducción de ruido
Imagen mejorada 400% usando RealSR DF2K-JPEG

Aplicaciones [ editar ]

General [ editar ]

El escalado de imágenes se utiliza, entre otras aplicaciones, en navegadores web , [8] editores de imágenes , visores de imágenes y archivos, lupas de software, zoom digital, el proceso de generación de imágenes en miniatura y la salida de imágenes a través de pantallas o impresoras.

Video [ editar ]

Esta aplicación es la ampliación de imágenes para sistemas de cine en casa para dispositivos de salida compatibles con HDTV a partir de contenido con resolución PAL, por ejemplo, de un reproductor de DVD. El aumento de escala se realiza en tiempo real y la señal de salida no se guarda.

Escala de pixel-art [ editar ]

Como los gráficos de pixel art suelen ser de baja resolución, se basan en la colocación cuidadosa de píxeles individuales, a menudo con una paleta de colores limitada. Esto da como resultado gráficos que se basan en señales visuales estilizadas para definir formas complejas con poca resolución, hasta píxeles individuales. Esto hace que el escalado del pixel art sea un problema particularmente difícil.

Se desarrollaron algoritmos especializados [9] para manejar gráficos de pixel art, ya que los algoritmos de escalado tradicionales no tienen en cuenta las señales de percepción.

Dado que una aplicación típica es mejorar la apariencia de los videojuegos de cuarta generación y anteriores en emuladores de arcade y consolas , muchas están diseñadas para ejecutarse en tiempo real para pequeñas imágenes de entrada a 60 cuadros por segundo.

En hardware rápido, estos algoritmos son adecuados para juegos y otros procesamientos de imágenes en tiempo real. Estos algoritmos proporcionan gráficos nítidos y nítidos, al tiempo que minimizan el desenfoque. Se han implementado algoritmos de escalado artístico en una amplia gama de emuladores como HqMAME y DOSBox , así como en motores de juegos 2D y recreaciones de motores de juegos como ScummVM . Obtuvieron el reconocimiento de los jugadores, para quienes estas tecnologías alentaron un resurgimiento de las experiencias de juego de los años ochenta y noventa. [ cita requerida ]

Estos filtros se utilizan actualmente en emuladores comerciales en Xbox Live , Virtual Console y PSN para permitir que los juegos clásicos de baja resolución sean más atractivos visualmente en las pantallas HD modernas . Los juegos lanzados recientemente que incorporan estos filtros incluyen Sonic's Ultimate Genesis Collection , Castlevania: The Dracula X Chronicles , Castlevania: Symphony of the Night y Akumajō Dracula X Chi no Rondo .

Ver también [ editar ]

  • Interpolación bicúbica
  • Interpolación bilineal
  • Remuestreo de Lanczos
  • Interpolación de splines
  • Tallado de costuras
  • Reconstrucción de imágenes

Referencias [ editar ]

  1. ^ "Interpolación dirigida al borde" . Consultado el 19 de febrero de 2016 .
  2. ^ Xin Li; Michael T. Orchard. "INTERPOLACIÓN DIRIGIDA NUEVA BORDE" (PDF) . 2000 IEEE International Conference on Image Processing : 311. Archivado desde el original (PDF) el 2016-02-14.
  3. ^ Zhang, D .; Xiaolin Wu (2006). "Un algoritmo de interpolación de imágenes guiado por bordes a través de filtrado direccional y fusión de datos". Transacciones IEEE sobre procesamiento de imágenes . 15 (8): 2226–38. Código bibliográfico : 2006ITIP ... 15.2226Z . doi : 10.1109 / TIP.2006.877407 . PMID 16900678 . 
  4. ^ K.Sreedhar Reddy; Dr. K. Rama Linga Reddy (diciembre de 2013). "Ampliación de imagen basada en técnicas de interpolación" (PDF) . Revista Internacional de Investigación Avanzada en Ingeniería Informática y de la Comunicación . 2 (12): 4631.
  5. ^ Dengwen Zhou; Xiaoliu Shen. "Zoom de imagen mediante interpolación de convolución cúbica direccional" . Consultado el 13 de septiembre de 2015 .
  6. ^ Shaode Yu; Rongmao Li; Rui Zhang; Mou An; Shibin Wu; Yaoqin Xie (2013). "Evaluación del rendimiento de métodos de interpolación dirigida por bordes para imágenes sin ruido". arXiv : 1303.6455 [ cs.CV ].
  7. ^ Johannes Kopf y Dani Lischinski (2011). "Depixelizing Pixel Art" . Transacciones ACM sobre gráficos . 30 (4): 99: 1–99: 8. doi : 10.1145 / 2010324.1964994 . Archivado desde el original el 1 de septiembre de 2015 . Consultado el 24 de octubre de 2012 .
  8. ^ Análisis de algoritmos de escalado de imágenes utilizados por navegadores web populares
  9. ^ "Escaladores de píxeles" . Consultado el 19 de febrero de 2016 .