Mapa de grises portátil (.pgm)

Netpbm Estándar

Portable Graymap Format (PGM) es el formato en escala de grises de la familia Netpbm. Se usa mucho en visión artificial, robótica, inspección óptica y procesamiento digital de imágenes.

Inspección y metadatos

Los sistemas operativos y analizadores de archivos identifican los archivos de PGM inspeccionando la secuencia de bytes binarios inicial:

Selecciona o arrastra archivos aquí

Privado - los archivos nunca salen de tu dispositivo

o pega Ctrl+V
Garantía de privacidad sin transmisión de red: 0 bytes subidos a servidores externos. Todo el procesamiento se realizó de forma local en el entorno seguro de tu navegador.

Firma de cabecera a nivel de bytes (bytes mágicos)

Los sistemas operativos y analizadores de archivos identifican los archivos de PGM inspeccionando la secuencia de bytes binarios inicial:

FIRMA HEXADECIMAL (DESPLAZAMIENTO 0):

50 32 / 50 35

REPRESENTACIÓN ASCII: P2 / P5

Estandarización: Netpbm Library Standard

Especificaciones técnicas

Arquitectura del contenedorFormato Netpbm ASCII (P2) o binario (P5), con el ancho, el alto, el valor máximo de gris y los datos de píxel
CompresiónBytes binarios sin comprimir o números en texto ASCII legible
Orden de bytes (Endianness)Orden de bytes big-endian (para muestras binarias de 16 bits en modo P5)
Espacios de colorEscala de grises lineal o escala de grises sRGB
Canales y estructuraUn canal de escala de grises (precisión de 8 o 16 bits)
Dimensiones máximasPrácticamente ilimitadas (admite un espacio de coordenadas arbitrario de 64 bits)
TransparenciaNinguna
Streaming y progresivoReproducción secuencial en streaming, fila por fila

Matriz de comparación técnica: PGM frente a la competencia

Atributo técnicoPGM (Actual)PBMPPMPNG
Modo de colorEscala de grises (8 bits / 16 bits)Monocromo de 1 bitColor verdadero RGB de 24 o 48 bitsEscala de grises, RGB, RGBA
Formato hermano en NetpbmPGM (mapa de grises portátil)PBM (mapa de bits portátil)PPM (mapa de píxeles portátil)Estándar del W3C ajeno a Netpbm
Bytes mágicosP2 (ASCII)/P5 (binario)P1 (ASCII)/P4 (binario)P3 (ASCII)/P6 (binario)‰PNG....
CompresiónSin comprimirSin comprimirSin comprimirDeflate sin pérdida

Modos de corrupción comunes y guía de recuperación hexadecimal

La imagen aparece invertida o completamente sobreexpuesta en blanco.

Causa raíz: El valor «maxval» de la cabecera no coincide con los datos (por ejemplo, se declara 1 en lugar de 255).

Recuperación: Corrija la línea «maxval» de la cabecera o convierte el archivo con el conversor Netpbm de File2File.app.

Análisis de seguridad y vectores de ataque al analizador

Los descodificadores PGM deben comprobar que el número de píxeles leídos coincida con las dimensiones declaradas para evitar desbordamientos del búfer.

Vectores de ataque conocidos

  • Desbordamiento de enteros al asignar un búfer de ancho x alto x (maxval > 255 ? 2 : 1).
  • Lectura fuera de los límites del búfer al procesar tokens numéricos ASCII mal formados.
  • Denegación de servicio por una asignación masiva de memoria provocada por dimensiones de cabecera manipuladas.

Mejores prácticas defensivas: Antes de leer los píxeles, Limita las dimensiones máximas y la memoria que se puede asignar.

Orígenes históricos e hitos

2000Se normaliza la profundidad de 16 bits (maxval de hasta 65 535) en el modo binario P5 para imágenes científicas.
1993Se incorpora al conjunto de herramientas Netpbm como formato intermedio estándar en escala de grises.
1989Jef Poskanzer crea PGM para complementar PBM y admitir 256 niveles de gris.

Ventajas principales

  • La estructura compacta de PGM puede facilitar la implementación de lectores básicos, aunque hay que tratar con cuidado la profundidad de muestra, las cabeceras y las entradas mal formadas.
  • La compatibilidad nativa con escala de grises de 16 bits lo hace idóneo para mapas de alturas y profundidad, así como para imágenes térmicas.
  • El modo ASCII (P2) permite ver y modificar los valores de píxel sin procesar en cualquier editor de texto.

Limitaciones técnicas

  • No tiene compresión, por lo que los archivos ocupan más que los formatos comprimidos, como PNG.
  • No admite metadatos sobre dimensiones físicas, espacios de color ni geolocalización.
  • Solo admite un canal: no puede almacenar datos de color ni transparencia alfa.

Curiosidades técnicas interesantes

  • OpenCV, ROS (Robot Operating System) y los sistemas de visión artificial suelen usar PGM para los mapas de navegación SLAM.
  • Los desarrolladores de juegos suelen usar archivos PGM de 16 bits como mapas de alturas del terreno, porque los datos de elevación sin comprimir son fáciles de cargar.
  • El parámetro «maxval» de la cabecera define el brillo máximo (normalmente, 255 para 8 bits o 65 535 para 16 bits).

Preguntas técnicas frecuentes

¿Para qué se utiliza el formato PGM?

PGM se usa sobre todo en visión artificial (OpenCV), robótica (archivos de mapas ROS), imágenes científicas y generación de mapas de alturas para terrenos 3D.

¿Cuál es la diferencia entre los archivos PGM P2 y P5?

P2 guarda cada píxel como un número de texto ASCII; P5 guarda los píxeles como bytes binarios compactos.

¿Cómo puedo convertir PGM a JPG o PNG?

Sube tu archivo PGM a File2File.app para convertirlo a PNG o JPG directamente en tu navegador con total privacidad.