Portable Bitmap (.pbm)
Netpbm СтандартФорматът за преносими битови карти (PBM) е фундаменталният 1-битов черно-бял графичен формат от пакета Netpbm, проектиран за максимална опростеност, човешка четимост и програмно генериране.
Инспектиране и метаданни
Операционните системи и файловите анализатори идентифицират PBM файлове чрез проверка на началната двоична байтова последователност:
Байтов подпис на хедъра (Magic Bytes)
Операционните системи и файловите анализатори идентифицират PBM файлове чрез проверка на началната двоична байтова последователност:
HEX ПОДПИС (ОФСЕТ 0):
50 31 / 50 34ASCII ПРЕДСТАВЯНЕ: P1 / P4
Стандартизация: Netpbm Library Standard
Технически спецификации
| Контейнерна архитектура | ASCII (P1) or binary (P4) Netpbm format specifying width, height, and 1-bit pixel array |
| Компресия | Uncompressed raw binary or ASCII character representation |
| Поредност на байтовете (Endianness) | Big-Endian bit-packing (in P4 binary mode) |
| Цветови пространства | Monochrome (1-bit black and white) |
| Канали и структура | 1 channel 1-bit monochrome (0 = White, 1 = Black) |
| Максимални размери | Practically unlimited (ASCII numeric dimension string) |
| Прозрачност | None |
| Стрийминг и прогресивно зареждане | Sequential row-by-row streaming playback |
Техническа сравнителна матрица: PBM спрямо конкуренти
| Технически атрибут | PBM (Текущ) | PGM | PPM | BMP |
|---|---|---|---|---|
| Цветова дълбочина | 1-битово монохромно (само черно и бяло) | 8-битово до 16-битово сиво | 24-битово до 48-битово RGB цветно | 1-битово до 32-битово RGBA |
| Роднo устройство в Netpbm | PBM (Portable Bitmap) | PGM (Portable Graymap) | PPM (Portable Pixmap) | Не-Netpbm формат |
| Магически байтове | P1 (ASCII) / P4 (Бинарно) | P2 (ASCII) / P5 (Бинарно) | P3 (ASCII) / P6 (Бинарно) | BM (0x42 0x4D) |
| Основно приложение | OCR и обработка на факс документи | Медицинска визуализация и сканиране | Обучение по компютърна графика | Графика за десктоп в Windows |
Често срещани режими на повреда и ръководство за хекс възстановяване
Изображението се визуализира с изкривени хоризонтални редове или липсващи пиксели.
Първопричина: Неекранирани коментари („#") или липсващи разделители за интервали в ASCII заглавната част.
Възстановяване: Валидирайте форматирането на заглавната част и преходите към нов ред с помощта на File2File Netpbm Converter.
Анализ на сигурността и вектори на атака към парсера
PBM парсерите, които четат низове с размери в ASCII формат, са податливи на препълване на цели числа, ако размерите надвишават лимитите на платформата.
Известни вектори на атака
- Цялостно препълване по време на разпределението на буфера за битове ширина * височина.
- Препълване на буфера при четене на дефектни потоци от ASCII интервали.
- Отказ от услуга чрез прекалено големи декларации за размери в миниатюрни файлове.
Защитни добри практики:
Исторически произход и етапи
Основни предимства и плюсове
- Изключителна алгоритмична опростеност: може да бъде прочетен или записан само в 10 реда код на който и да е програмен език.
- ASCII режимът (P1) е 100% четим за хора и може да бъде създаван или редактиран в стандартни текстови редактори като Notepad.
- Универсален еталон за обмен в академични среди по компютърно зрение и конвейери за разпознаване на текст (OCR).
Технически ограничения и минуси
- Строго ограничен до 1-битово черно-бяло изображение (без нюанси на сивото или цвят).
- ASCII режимът е крайно неефективен, като използва по един байт ASCII текст („0" или „1") за всеки отделен бит от данните на изображението.
- Липсват метаданни, цветови профили или поддръжка на слоеве.
Интересни технически факти
- В ASCII PBM („P1") белият пиксел се представя с „0", а черният - с „1" (което е интуитивно обратно на съвременните RGB конвенции).
- Можете буквално да създадете валидно PBM изображение, като напишете „P1 2 2 1 0 0 1" в текстов файл и го запишете.
- Форматът е изобретен, за да могат компютърните специалисти да споделят сканирани документи в новинарските групи на Usenet.
Често задавани технически въпроси
Каква е разликата между PBM, PGM и PPM?
PBM е 1-битов монохромен формат (само черно и бяло), PGM е формат в нива на сивото (оттенъци на сивото), а PPM е пълен 24-битов RGB цветен формат.
Какво означават P1 и P4 в PBM файловете?
'P1' показва, че изображението се съхранява в обикновен ASCII текст, докато 'P4' показва, че изображението се съхранява като компактни двоични байтове.
Как мога да конвертирам PBM файл в PNG?
Можете да конвертирате PBM файлове в модерни PNG или JPG изображения директно в браузъра си с помощта на File2File.app, без да качвате данни на който и да е сървър.