Provided by: manpages-pl_0.7-2_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)