Submuestreo
El proceso de reducir la resolución de una imagen disminuyendo el número de píxeles mientras se aplica un filtrado apropiado para prevenir el aliasing y mantener la calidad visual.
El submuestreo reduce el número de píxeles de una imagen. Reducir una foto de 4000x3000 a 800x600 consolida 20 millones de píxeles en 480.000. Descartar píxeles ingenuamente introduce aliasing (bordes dentados, moiré), haciendo esencial un filtrado paso bajo adecuado.
- Pooling promedio: Calcula la media de todos los píxeles dentro de cada región de salida. También se usa en las capas de pooling de CNN para reducción espacial
- Filtro gaussiano + decimación: Elimina frecuencias por encima del límite de Nyquist mediante desenfoque gaussiano antes del submuestreo.
cv2.pyrDown()de OpenCV implementa esto para pirámides de imágenes - Filtro Lanczos: Filtro sinc ventaneado de alta calidad. Los navegadores modernos usan filtros similares internamente para el escalado de imágenes
- Interpolación por área:
cv2.INTER_AREAde OpenCV, que produce los resultados más naturales para operaciones de reducción
El submuestreo aparece en la generación de imágenes responsivas, normalización de entrada para ML, generación de mipmaps y creación de miniaturas. ImageMagick (convert -resize 50%) y Sharp (sharp(input).resize(400, 300)) proporcionan interfaces convenientes.
La consideración clave es equilibrar la calidad visual con el tamaño del archivo, seleccionando filtros apropiados y resolución objetivo para cada caso de uso.