Что такое формат файла PGM?
pgm (сокращение от Portable Gray Map) - это формат файла, связанный с Netpbm, кроссплатформенным набором инструментов для растровой графики.
Что содержится в файлах PGM?
Файлы PGM хранят 8- или 16-битные чёрно-белые изображения. Один файл .pgm может хранить несколько таких изображений. Каждый пиксель может принимать значение от 0 (чёрный) до 65 535 (белый).
Как данные сохраняются в файлах PGM?
Файлы PGM могут сохранять данные в следующих вариантах:
- обычный текст (заголовок файла с магическим числом
P2), читаемый человеком код ASCII - бинарный (заголовок файла с магическим числом
P5), хранящий сырые бинарные выборки для каждого пикселя
Оба варианта поддерживают несколько объединённых изображений в одном файле. Заголовок файла определяет ширину, высоту и максимальное значение серого (Maxval). Тело файла содержит значения выборок для каждого пикселя изображения.
Для чего используются файлы PGM?
Файл .pgm - это пример реализации стандарта .pnm (Portable Anymap). Файлы PGM в основном используются как формат обмена изображениями в обработке изображений, конвейерах компьютерного зрения и цепочках инструментов графики. Помимо PGM, доступны другие реализации в том же семействе:
Безопасность и защита
РИСК: LOWPGM - это пассивное, полностью документированное растровое изображение - заголовок плюс данные пикселей, без скриптов или исполняемого содержимого, поэтому открытие его безопасно. Единственные практические меры предосторожности не связаны с вредоносным ПО: файлы большие, потому что PGM не сжат (конвертируйте в PNG, чтобы сэкономить место), а повреждённый или слишком большой заголовок может заставить наивный парсер выделить огромный буфер, поэтому используйте поддерживаемый просмотрщик. Метаданных/EXIF для конфиденциальности нет, так как формат их не содержит.
Детали формата
в двух словахПрограммы, открывающие файлы PGM
Технические подробности
глубокая спецификация| Семейство форматов | Семейство Netpbm PNM, наряду с .pbm (1-битный растр) и .ppm (цвет RGB) |
| Цветовая модель | Только чёрно-белое - нет цветовых каналов, нет альфа-канала |
| Глубина цвета | 8-битная (Maxval 255, 256 оттенков серого) или 16-битная (Maxval до 65 535) |
| Магическое число | "P2" (0x50 0x32) для варианта ASCII; "P5" (0x50 0x35) для варианта binary - находится по смещению 0 |
| MIME-тип | image/x-portable-graymap |
| Варианты кодирования | P2: читаемые человеком обычные ASCII значения пикселей; P5: сырые бинарные данные пикселей - заголовок всегда ASCII-текст в обоих вариантах |
| Сжатие | Отсутствует - выборки пикселей хранятся сырыми и несжатыми |
| Порядок байтов | Big-endian для 16-битных выборок (когда Maxval > 255); 8-битные выборки занимают по одному байту |
| Байт на выборку | 1 байт на пиксель, когда Maxval ≤ 255; 2 байта big-endian на пиксель, когда Maxval > 255 |
| Структура заголовка | ASCII-поля, разделённые пробелами в порядке: магическое число, ширина изображения, высота изображения, Maxval - за которым следует один разделитель пробела, затем растровая карта пикселей |
| Поддержка нескольких изображений | Несколько изображений могут быть последовательно объединены внутри одного файла .pgm (оба варианта P2 и P5) |
| Ограничение размеров | Максимального размера, установленного форматом, нет; ограничено только диапазоном целых чисел ASCII в заголовке и доступной памятью |
| Типичный размер файла | Без сжатия; масштабируется как ширина × высота × байт-на-выборку - от килобайт для маленьких изображений до десятков мегабайт для больших |
| Разработчик | Jef Poskanzer, исходящий из набора инструментов Pbmplus (позже продолжен как проект Netpbm) |
| Поддержка платформ | Windows, macOS, Linux, Unix - нативно обрабатывается инструментами Netpbm и поддерживается большинством библиотек обработки изображений (OpenCV, ImageMagick, GIMP) |
| Выпущен | 1988 (Pbmplus toolkit, later Netpbm) |
| Последняя версия | Stable since the 1990s; current Netpbm 10.86+ implements it (no format version bump) |
| Открыть стандартное | Да · без роялти |
| Спецификация | netpbm.sourceforge.net |
Конвертации PGM
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах PGM.