Mapa de cinzas portátil (.pgm)

Netpbm Padrão

O formato PGM (Portable Graymap Format) é a especificação de imagem em escala de cinza da família Netpbm, amplamente utilizada em visão computacional, robótica, inspeção óptica e algoritmos de processamento de imagem digital.

Inspecionar e metadados

Sistemas operacionais e analisadores de arquivos identificam arquivos PGM inspecionando a sequência de bytes binários inicial:

Selecione ou solte os arquivos aqui

Conversão 100% privada no navegador - os arquivos nunca saem do seu dispositivo

ou colar Ctrl+V
Garantia de Privacidade com Zero Transmissão de Rede: 0 bytes enviados para servidores externos. Todo o processamento ocorreu localmente no sandbox do seu navegador.

Assinatura de Cabeçalho em Nível de Byte (Magic Bytes)

Sistemas operacionais e analisadores de arquivos identificam arquivos PGM inspecionando a sequência de bytes binários inicial:

ASSINATURA HEX (OFFSET 0):

50 32 / 50 35

REPRESENTAÇÃO ASCII: P2 / P5

Padronização: Netpbm Library Standard

Especificações Técnicas

Arquitetura do ContêinerFormato Netpbm ASCII (P2) ou binário (P5) com largura, altura, valor máximo de cinza e fluxo de pixels
CompressãoBytes binários brutos não comprimidos ou números de texto ASCII legíveis por humanos
Ordem de Bytes (Endianness)Big-Endian (para amostras binárias de 16 bits no modo P5)
Espaços de CoresEscala de cinza linear ou escala de cinza sRGB
Canais e Estrutura1 canal em escala de cinza (precisão de 8 bits ou 16 bits)
Dimensões MáximasPraticamente ilimitado (suporta espaço de coordenadas de 64 bits arbitrário)
TransparênciaNenhuma
Streaming e ProgressivoReprodução de streaming sequencial linha por linha

Matriz de Comparação Técnica: PGM vs Concorrentes

Atributo TécnicoPGM (Atual)PBMPPMPNG
Modo de CorEscala de cinza (8 bits / 16 bits)Monocromático de 1 bitRGB Truecolor (24 bits / 48 bits)Escala de cinza, RGB, RGBA
Formato Irmão NetpbmPGM (Mapa de Cinza Portátil)PBM (Mapa de Bits Portátil)PPM (Mapa de Pixels Portátil)Padrão W3C não Netpbm
Bytes MágicosP2 (ASCII) / P5 (Binário)P1 (ASCII) / P4 (Binário)P3 (ASCII) / P6 (Binário)‰PNG....
CompressãoNão comprimidoNão comprimidoNão comprimidoDeflate sem perdas

Modos Comuns de Corrupção e Guia de Recuperação Hex

A imagem é exibida invertida ou completamente estourada em branco.

Causa Raiz: Parâmetro 'maxval' incompatível no cabeçalho (por exemplo, maxval declarado como 1 em vez de 255).

Recuperação: Corrija a linha de cabeçalho maxval ou faça a transcodificação com o Conversor Netpbm do File2File.

Análise de Segurança e Vetores de Ataque ao Analisador

Os decodificadores PGM devem validar cuidadosamente se as contagens de pixels analisadas correspondem às dimensões declaradas para evitar estouro de buffer.

Vetores de Ataque Conhecidos

  • Estouro de inteiro durante a alocação de buffer largura * altura * (maxval > 255 ? 2 : 1).
  • Leitura excessiva de buffer ao ler tokens de números ASCII malformados.
  • Negação de serviço por meio de alocação de memória massiva acionada por dimensões de cabeçalho fabricadas.

Melhores Práticas Defensivas: Limite as dimensões máximas permitidas e os limites de alocação de memória antes de ler os fluxos de pixels.

Origens Históricas e Marcos

2000Profundidade de 16 bits (maxval de até 65535) padronizada no modo binário P5 para imagens científicas.
1993Incorporado ao kit de ferramentas Netpbm como o formato intermediário padrão em escala de cinza.
1989Jef Poskanzer cria o PGM para complementar o PBM com suporte completo a escala de cinza de 256 níveis.

Principais Vantagens e Prós

  • Complexidade zero: extremamente simples de analisar e gravar em C, Python ou WebAssembly sem bibliotecas externas.
  • O suporte nativo a escala de cinza de 16 bits o torna ideal para mapas de altura, mapas de profundidade e imagens térmicas.
  • O modo ASCII (P2) permite inspeção e manipulação direta de valores de pixels brutos em editores de texto padrão.

Limitações Técnicas e Contras

  • Sem compressão: grandes pegadas de arquivos em comparação com formatos compactados como PNG.
  • Carece de metadados para dimensões físicas, espaços de cores ou geolocalização.
  • Estritamente de canal único: não pode armazenar dados de cores ou transparência alfa.

Curiosidades Técnicas

  • OpenCV, ROS (Robot Operating System) e sistemas de visão computacional usam frequentemente PGM para mapas de navegação SLAM.
  • Desenvolvedores de jogos costumam usar arquivos PGM de 16 bits como mapas de altura de terreno porque os dados de elevação brutos não são compactados e são fáceis de carregar.
  • O parâmetro 'maxval' no cabeçalho define o valor máximo de brilho (normalmente 255 para 8 bits ou 65535 para 16 bits).

Perguntas Técnicas Frequentes

Para que serve o formato PGM?

O PGM é usado principalmente em visão computacional (OpenCV), robótica (arquivos de mapa ROS), imagens científicas e geração de mapas de altura de terreno 3D.

Qual é a diferença entre arquivos PGM P2 e P5?

O P2 é um texto ASCII simples onde cada pixel é um número escrito, enquanto o P5 armazena pixels como bytes binários compactos.

Como posso converter PGM para JPG ou PNG?

Envie seu arquivo PGM para o File2File.app para convertê-lo em PNG ou JPG diretamente no seu navegador com total privacidade.