Provided by: manpages-pl_4.13-4_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 znaki ASCII.

       - Biała spacja.

       - Wysokość, sformatowana jako dziesiętne znaki 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 w prostym formacie są następujące:

       - 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.

       - Linia 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 są: Przemek Borys <pborys@dione.ids.pl> i
       Robert Luberda <robert@debian.org>

       Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje  o  warunkach  licencji  można  uzyskać
       zapoznając   się   z   GNU General Public License w wersji 3   lub  nowszej.  Nie  przyjmuje  się  ŻADNEJ
       ODPOWIEDZIALNOŚCI.

       Błędy w  tłumaczeniu  strony  podręcznika  prosimy  zgłaszać  na  adres  listy  dyskusyjnej  manpages-pl-
       list@lists.sourceforge.net.

                                                12 listopada 1991                                         pgm(5)