¿Qué es el formato de archivo PNM?
Portable Anymap es un nombre que engloba los formatos ráster PBM, PGM y PPM de Netpbm. Juntos abarcan datos de imágenes monocromáticas, en escala de grises y RGB mediante estructuras estrechamente relacionadas.
Cómo funciona el formato de archivo PNM
PNM no es un formato de archivo independiente: la documentación de Netpbm lo denomina una abstracción que se refiere colectivamente a PBM (de dos niveles), PGM (escala de grises) y PPM (color). Cada imagen comienza con un número mágico de dos caracteres, de P1 a P6, seguido del ancho y el alto como números decimales ASCII y, para PGM y PPM, de un valor máximo de muestra llamado maxval. Las variantes binarias (P4, P5, P6) almacenan después los datos ráster en binario, en filas de arriba abajo: PBM agrupa ocho píxeles por byte, donde 1 significa negro, mientras que PGM y PPM utilizan un byte por muestra cuando maxval es inferior a 256 y, en caso contrario, dos bytes, con el más significativo primero. Las variantes de texto plano (P1, P2, P3) escriben cada muestra como texto ASCII. Netpbm describe estos formatos como intermediarios que, en su uso más puro, solo existen en una tubería entre dos programas.
Datos clave
- Un nombre
.pnmo el tipo de medioimage/x-portable-anymapno indican qué formato contiene un archivo. Lee el número mágico de dos caracteres:P1yP4son PBM,P2yP5son PGM,P3yP6son PPM, y el número menor de cada par corresponde a la variante de texto plano. Ninguno de los tipos de medios de Netpbm está registrado en IANA. Un programa al que se le pida escribir «PNM» tiene que elegir uno de los tres; ImageMagick, por ejemplo, selecciona el más adecuado para la imagen y escribe la variante binaria a menos que se le indique lo contrario. - Las muestras PGM y PPM no siempre son de 8 bits. El maxval de la cabecera puede ser cualquier valor entre 1 y 65535; los archivos binarios utilizan un byte por muestra cuando es inferior a 256 y, en caso contrario, dos bytes, con el más significativo primero, por lo que los datos de 10 bits con un maxval de 1023 son válidos. Los valores de las muestras son relativos a maxval, así que un lector que presuponga 255 interpreta mal tanto la disposición de los bytes como el brillo. Netpbm señala que los archivos binarios estaban limitados a 255 antes de abril de 2000 y que los programas antiguos pueden depender de ello.
- Los tres formatos carecen de canal alfa y de campo para un perfil ICC; los únicos datos de formato libre son los comentarios
#de la cabecera. Netpbm almacena la transparencia en un archivo PGM independiente utilizado como máscara de transparencia, o en su formato PAM más reciente, donde un tipo de tupla comoRGB_ALPHAañade un plano de opacidad. PAM comienza conP7y es un cuarto formato de Netpbm, no uno de los formatos PNM, así que no supongas que un lector PNM lo acepta. - Un archivo binario PBM, PGM o PPM puede contener varias imágenes consecutivas sin delimitador, una regla añadida en julio de 2000; las variantes de texto plano contienen exactamente una. Netpbm advierte que la mayoría de las herramientas ignoran todo lo que viene después de la primera imagen, y la documentación de OpenImageIO indica que PNM no admite varias imágenes, así que no des por hecho que un archivo con varias imágenes se conservará al pasar por un pipeline.
Cuándo es importante el formato de archivo PNM
Usa archivos de la familia PNM como intermediarios sencillos entre herramientas de línea de comandos o etapas de análisis de imágenes, cuando importe más contar con un analizador que quepa en unas pocas líneas que el tamaño. No están comprimidos y casi no contienen metadatos, así que conviértelos a un formato comprimido para su almacenamiento o entrega; la propia documentación de PBM de Netpbm indica que no es un formato que se usaría normalmente para almacenar o transmitir un archivo.
Cómo ayuda Transloadit con el formato de archivo PNM
La tabla de formatos de imagen de Transloadit incluye PBM, PGM, PPM, PNM y PAM como formatos que sus Robots basados en ImageMagick, incluido /image/resize, pueden leer y escribir, por lo que un archivo Netpbm puede convertirse a un formato comprimido en un Step.
La tabla informa de lo que cada stack puede leer y escribir. No indica qué variante de PNM se escribe ni cómo se manejan las muestras de 16 bits, y no se ejecutó ninguna Assembly para esta entrada.
Explora los formatos de archivo y las capacidades de compresión de Transloadit
Fuentes
- Netpbm: pnm, el superformato de Netpbm (definición, tipo de medio, nombre de archivo)
- Netpbm: especificación del formato de imagen PBM de dos niveles
- Netpbm: especificación del formato de imagen PGM en escala de grises (maxval, máscara de transparencia)
- Netpbm: especificación del formato de imagen en color PPM
- Netpbm: especificación del formato PAM (relación con PNM, tipos de tupla alfa)
- Formatos de imagen de ImageMagick: fila de PNM (selección del formato de salida, variantes binaria y ASCII)
- Plugins de formatos incluidos con OpenImageIO: PNM / Netpbm