Portable Bitmap (.pbm)
Стандарт СтандартPortable Bitmap Format (PBM) е основният 1-битов черно-бял графичен формат от пакета Netpbm, създаден за максимална простота, четимост от хора и програмно генериране.
Проверка и метаданни
Операционните системи и файловите анализатори идентифицират PBM файлове чрез проверка на началната двоична байтова последователност:
Байтов подпис на заглавката (сигнатурни байтове)
Операционните системи и файловите анализатори идентифицират PBM файлове чрез проверка на началната двоична байтова последователност:
HEX ПОДПИС (ОФСЕТ 0):
50 31 / 50 34ASCII ПРЕДСТАВЯНЕ: P1 / P4
Стандартизация: Стандарт на библиотеката Netpbm
Технически спецификации
| Контейнерна архитектура | ASCII (P1) или двоичен (P4) формат Netpbm, който задава ширина, височина и 1-битов масив от пиксели |
| Компресия | Некомпресирано сурово двоично или ASCII текстово представяне |
| Поредност на байтовете (Endianness) | Пакетиране на битовете в ред от старшия към младшия байт (Big-Endian) в двоичен режим P4. |
| Цветови пространства | Монохромно (1-битово черно и бяло) |
| Канали и структура | 1 канал, 1-битов монохромен (0 = бяло, 1 = черно) |
| Максимални размери | Практически неограничени (ASCII низ с числовите размери) |
| Прозрачност | Няма |
| Поточно предаване и прогресивно зареждане | Последователно поточно предаване ред по ред |
Техническа сравнителна матрица: PBM спрямо конкуренти
| Технически атрибут | PBM (Текущ) | PGM | PPM | BMP |
|---|---|---|---|---|
| Цветова дълбочина | 1-битово монохромно (само черно и бяло) | 8-битово до 16-битово изображение в нива на сивото | 24-битов до 48-битов RGB цвят | 1-битово до 32-битово RGBA изображение |
| Сроден формат от 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.app Netpbm Converter.
Анализ на сигурността и вектори на атака към парсера
Парсерите за PBM, които четат размерите като ASCII низове, са уязвими към целочислено препълване, ако размерите надхвърлят ограниченията на платформата.
Известни вектори на атака
- Целочислено препълване при заделяне на битов буфер с размер ширина * височина.
- Четене извън буфера при обработка на неправилни ASCII потоци с интервали.
- Отказ от услуга заради прекалено големи размери, зададени в малки файлове.
Най-добри практики за защита: Ограничете максималните размери на PBM и валидирайте границите на битовия буфер преди декодиране.
Исторически произход и етапи
Основни предимства
- Компактната му структура улеснява създаването на базови програми за четене и запис на PBM, макар че дължината на кода зависи от езика и изискванията.
- ASCII режимът (P1) е 100% четим за хора и може да бъде създаван или редактиран в стандартни текстови редактори като Notepad.
- PBM може да се използва в някои работни процеси за обработка на изображения, компютърно зрение и 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, без да качвате данни на който и да е сървър.