Provided by: manpages-pl_0.7-1_all bug

NAZWA

       pgm - przenośny format szarej bitmapy

OPIS

       Format  PGM  jest  najmniejszym  wspólnym  mianownikiem  plików  w  formacie  odcieni  szarości.   Został
       zaprojektowany, aby był niezmiernie łatwy do nauczenia  i  pisania  programów  jego  obsługi.  (Jest  tak
       prosty, że większość ludzi po prostu zastosuje inżynierię odwrotną ponieważ jest to prostsze niż czytanie
       tej dokumentacji).

       Obraz PGM reprezentuje graficzny  obraz  w  odcieniach  szarości.  Istnieje  wiele  formatów  pseudo-PGM,
       różniących  się od opisanego tutaj znaczeniem poszczególnych wartości pikseli. Dla większości celów obraz
       PGM można sobie wyobrazić jako tablicę dowolnych liczb typu integer, i wszystkie programy  świata,  które
       myślą,  że  przetwarzają  obraz  w odcieniach szarości, mogą być prosto oszukane, by procesować cokolwiek
       innego.

       Jednym  z  oficjalnych  wariantów  PGM  jest  maska   przezroczystości.   W   bibliotece   netpbm   maska
       przezroczystości  jest  reprezentowana  przez  obraz PGM, który zamiast intensywności pikseli ma zapisane
       wartości nieprzezroczystości. Patrz niżej.

       Definicja formatu jest następująca:

       Plik PGM składa się z sekwencji jednego lub więcej obrazów PGM. Nie występują żadne inne dane, separatory
       i wyrównania przed obrazami, po nich ani między nimi.

       W skład każdego obrazu PGM wchodzą:

       - "Numer magiczny", identyfikujący rodzaj pliku. Numerem magicznym pliku pgm są dwa znaki: "P5".

       - Biała spacja (spacje, tabulacje, CR, LF).

       - Szerokość, sformatowana jako dziesiętne ASCII.

       - Biała spacja.

       - Wysokość, znów jako dziesiętne ASCII.

       - Biała spacja.

       - Maksymalna wartość szarości (maxval), znów jako dziesiętne ASCII. Musi być mniejsza od 65536.

       - Znak nowej linii lub inny znak białej spacji.

       - Raster  o  rozmiarze szerokość * wysokość wartości szarości, przetwarzany w normalnym porządku czytania
         tekstu. Każda wartość szarości jest liczbą od zera do pewnej  wartości  maksymalnej,  gdzie  0  oznacza
         czerń,  a wartość maksymalna - biel. Każda wartość szarości jest reprezentowana binarnie albo na jednym
         bajcie albo na dwóch bajtach. Jeśli wartość maksymalna jest mniejsza niż 256, będzie to jeden  bajt.  W
         przeciwnym wypadku są używane dwa bajty. Najbardziej znaczący bajt jest podawany pierwszy.

       - Każda  wartość szarości jest numerem proporcjonalnym do intensywności piksela, wyrównanej przez funkcję
         transferu gamma CIE Rec. 709. (Ta funkcja transferu określa numer gamma jako 2.2 i  ma  liniową  sekcję
         dla  niskich  intensywności).  Wartość 0 oznacza czerń. Maksymalna wartość reprezentuje kolor biały CIE
         D65 i najbardziej intensywny kolor w obrazie i w jakimkolwiek innym obrazie, z którym można by porównać
         bieżący obraz.

       - Proszę  zauważyć,  że zwyczajową wariacją formatu PGM jest "liniowe" wymienianie wartości szarości, tj.
         tak jak podano powyżej, z wyjątkiem braku wyrównania gamma. pnmgamma potrafi przyjąć plik PGM  w  takim
         wariancie na wejściu i wyprodukować prawdziwy plik PGM na wyjściu.

       - W  wariacji PGM zawierającej maskę przezroczystości wartość reprezentuje poziom nieprzejrzystości. Jest
         proporcjonalna do ułamka intensywności piksela, który by się pojawił zamiast  podstawowego  piksela,  z
         zaaplikowaną  taką samą funkcją transferu gamma, jak opisana powyżej. Tak więc to, co normalnie oznacza
         kolor biały, oznacza tu całkowitą nieprzezroczystość, a to co  normalnie  oznacza  czerń,  reprezentuje
         całkowitą  przezroczystość.  Pomiędzy  tymi  wartościami  należy  sobie  obliczyć  intensywność piksela
         złożonego z pikseli "poniżej" i "powyżej". używając  wzoru:  poniżej  *  1  (1-(alpha/alpha_maxval))  +
         powyżej * (alpha/alpha_maxval).

       - Znaki od "#" do znaku końca linii, przed linią maxval są ignorowane jako komentarze.

       Proszę  zauważyć,  że  można użyć pnmdepth do konwersji pomiędzy formatami używającymi 1 bajtu na wartość
       szarości i 2 bajtów na wartość szarości.

       Istnieje także jeszcze jedna, dość rzadko spotykana, wersja formatu  PGM:  "czysty"  format  PGM.  Format
       opisany powyżej, który generalnie uważa się za zwykły format, jest znany jako format "surowy" PGM. pbm(5)
       zawiera komentarze na temat relacji pomiędzy formatem czystym a surowym.

       Różnice formatu czystego to:

       - Plik zawiera dokładnie jeden obraz.

       - "Magiczny numer" to "P2" zamiast "P5".

       - Każda piksel w rastrze jest reprezentowany jako numer dziesiętny ASCII (dowolnego rozmiaru).

       - Każdy piksel w rastrze ma biały znak przed i po. Pomiędzy dwoma  dowolnymi  pikselami  musi  występować
         przynajmniej jeden biały znak, ale nie ma górnego ograniczenia na liczbę białych znaków.

       - Żadna z linii nie powinna być dłuższa niż 70 znaków.

       Oto przykład małego obrazka w tym formacie:
       P2
       # feep.pgm
       24 7
       15
       0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
       0  3  3  3  3  0  0  7  7  7  7  0  0 11 11 11 11  0  0 15 15 15 15  0
       0  3  0  0  0  0  0  7  0  0  0  0  0 11  0  0  0  0  0 15  0  0 15  0
       0  3  3  3  0  0  0  7  7  7  0  0  0 11 11 11  0  0  0 15 15 15 15  0
       0  3  0  0  0  0  0  7  0  0  0  0  0 11  0  0  0  0  0 15  0  0  0  0
       0  3  0  0  0  0  0  7  7  7  7  0  0 11 11 11 11  0  0 15  0  0  0  0
       0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0

       Programy,  które  odczytują ten format powinny być jak najwyrozumialsze, akceptując wszystko, co z daleka
       wygląda jak mapa szarości.

ZGODNOŚĆ

       Przed kwietniem 2000 roku, plik w surowym formacie PGM nie mógł mieć maksymalnej  wartości  większej  niż
       255.  Dlatego  nie  mógł  przechowywać  więcej  niż  jednego bajtu na próbkę. Stare programy mogą od tego
       zależeć.

       Przed lipcem 2000 roku plik PGM mógł zawierać  tylko  jeden  obraz.  W  wyniku  tego  większość  narzędzi
       przetwarzających pliki PGM ignoruje (nie czyta) danych po pierwszym obrazie.

ZOBACZ TAKŻE

       fitstopgm(1),   fstopgm(1),   hipstopgm(1),   lispmtopgm(1),  psidtopgm(1),  rawtopgm(1),  pgmbentley(1),
       pgmcrater(1), pgmedge(1), pgmenhance(1), pgmhist(1), pgmnorm(1),  pgmoil(1),  pgmramp(1),  pgmtexture(1),
       pgmtofits(1), pgmtofs(1), pgmtolispm(1), pgmtopbm(1), pnm(5), pbm(5), ppm(5)

AUTOR

       Copyright (C) 1989, 1991 Jef Poskanzer.

TŁUMACZENIE

       Autorami   polskiego   tłumaczenia   niniejszej   strony   podręcznika   man   są:  Przemek  Borys  (PTM)
       <pborys@dione.ids.pl> i Robert Luberda <robert@debian.org>.

       Polskie tłumaczenie jest częścią  projektu  manpages-pl;  uwagi,  pomoc,  zgłaszanie  błędów  na  stronie
       http://sourceforge.net/projects/manpages-pl/. Jest zgodne z wersją  10.0 oryginału.

                                                12 listopada 1991                                         pgm(5)