Portable Bitmap (.pbm)

Стандарт Стандарт

Portable Bitmap Format (PBM) е основният 1-битов черно-бял графичен формат от пакета Netpbm, създаден за максимална простота, четимост от хора и програмно генериране.

Проверка и метаданни

Операционните системи и файловите анализатори идентифицират PBM файлове чрез проверка на началната двоична байтова последователност:

Изберете или пуснете файлове тук

Поверително - файловете никога не напускат устройството ви

или поставете Ctrl+V
Гаранция за поверителност с нулево мрежово предаване: 0 байта са качени на външни сървъри. Цялата обработка се извършва локално в пясъчниците на вашия браузър.

Байтов подпис на заглавката (сигнатурни байтове)

Операционните системи и файловите анализатори идентифицират PBM файлове чрез проверка на началната двоична байтова последователност:

HEX ПОДПИС (ОФСЕТ 0):

50 31 / 50 34

ASCII ПРЕДСТАВЯНЕ: P1 / P4

Стандартизация: Стандарт на библиотеката Netpbm

Технически спецификации

Контейнерна архитектураASCII (P1) или двоичен (P4) формат Netpbm, който задава ширина, височина и 1-битов масив от пиксели
КомпресияНекомпресирано сурово двоично или ASCII текстово представяне
Поредност на байтовете (Endianness)Пакетиране на битовете в ред от старшия към младшия байт (Big-Endian) в двоичен режим P4.
Цветови пространстваМонохромно (1-битово черно и бяло)
Канали и структура1 канал, 1-битов монохромен (0 = бяло, 1 = черно)
Максимални размериПрактически неограничени (ASCII низ с числовите размери)
ПрозрачностНяма
Поточно предаване и прогресивно зарежданеПоследователно поточно предаване ред по ред

Техническа сравнителна матрица: PBM спрямо конкуренти

Технически атрибутPBM (Текущ)PGMPPMBMP
Цветова дълбочина1-битово монохромно (само черно и бяло)8-битово до 16-битово изображение в нива на сивото24-битов до 48-битов RGB цвят1-битово до 32-битово RGBA изображение
Сроден формат от NetpbmPBM (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 и валидирайте границите на битовия буфер преди декодиране.

Исторически произход и етапи

1993Netpbm обединява PBM, PGM и PPM като преносими инструменти за изображения, използвани в Unix и други системи.
1991Въведен е двоичният режим на PBM (магически байт „P4“) с цел подобряване на ефективността на съхранението.
1988Джеф Посканзър изобретява PBM (магически байт „P1“) за пренос на растерни изображения през имейл мрежи.

Основни предимства

  • Компактната му структура улеснява създаването на базови програми за четене и запис на 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, без да качвате данни на който и да е сървър.