Provided by: manpages-pl_4.27.0-1_all bug

NAZWA

       PPM - format obrazu kolorowego Netpbm

OPIS

       Program jest częścią Netpbm(1).

       Jest to prosty format PPM przeznaczony do obrazów kolorowych.

       Należy  zauważyć,  że  ten  format  jest  strasznie  niewydajny.  Jest  bardzo  rozwlekły i zawiera wiele
       informacji, których ludzkie oko nie jest w stanie dostrzec. Co więcej, oprócz podstawowych kolorów format
       nie dostarcza więcej innych informacji, co oznacza, że oprócz pliku w tym formacie trzeba w innym miejscu
       przechowywać pozostałe informacje, tak żeby można było z tego  sensownie  korzystać.  Jednakże  w  bardzo
       łatwy sposób można napisać i analizować programy przetwarzające ten format - i to jest główna zaleta.

       Należy  także  zauważyć,  że  często  pliki  są  zgodne  z  tym formatem pod każdym względem, z wyjątkiem
       precyzyjnego znaczenia wartości próbek. Pliki te są użyteczne z powodu sposobu, w jakim PPM jest  używany
       jako  format  pośredni.  Nieformalnie  są  nazywane  plikami  PPM,  ale  żeby  być absolutnie precyzyjnym
       należałoby je nazywać wariantami prawdziwego PPM. Na przykład „PPM używający takich  kolorów  czerwonego,
       zielonego i niebieskiego, których używa dany skaner”.

       Nazwa  „PPM”  jest  akronimem słów „Przenośna Mapa Pikseli” („Portable Pixel Map”). Obrazy w tym formacie
       (lub jego poprzednikach) były niegdyś zwane również „przenośnymi pixmapami”.

FORMAT

       Definicja formatu jest jak następuje. Można skorzystać z biblioteki podprogramu C libnetpbm(1), aby łatwo
       i dokładnie odczytywać i interpretować format.

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

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

       •      "Numer magiczny", określający rodzaj pliku. Numerem magicznym ppm są dwa znaki: "P6".

       •      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ść komponentu kolorowego (maxval), znów jako dziesiętne ASCII. Musi  być  mniejsza
              od 65536 i większa od zera.

       •      Pojedynczy znak białej spacji (zwykle znak nowego wiersza).

       •      Raster  o  rozmiarze  Wysokości  wierszy,  w kolejności od góry do dołu. Każdy wiersz składa się z
              Szerokości pikseli, od lewej do prawej. Każdy piksel jest trójką kolorów czerwonego,  zielonego  i
              niebieskiego,  w  tej właśnie kolejności. Każda próbka 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.

              Wiersz jest poziomy. Kolumna jest pionowa. Piksele w obrazie są kwadratowe i ciągłe.

              W  rastrze  wartości  próbek  są „nieliniowe”. Są proporcjonalne do natężenia ITU-R Recommendation
              BT.709 kolorów czerwonego, zielonego i niebieskiego w pikselu, wyrównanego przez funkcję transferu
              gamma BT.709. (Ta funkcja transferu określa numer gamma jako 2.2 i ma liniową sekcję  dla  niskich
              intensywności).  Maksymalna  wartość  tych  trzech  próbek  reprezentuje  kolor  biały  CIE  D65 i
              najbardziej intensywny kolor w uniwersum  kolorów,  którego  częścią  jest  ten  obraz  (uniwersum
              kolorów  oznacza  wszystkie  możliwe  kolory  we  wszystkich obrazach, z którymi można by porównać
              bieżący obraz).

              Zakres BT.709 wartości kanałów (16-240) jest bez znaczenia w PPM.

              ITU-R Recommendation BT.709 jest zmienioną nazwą wcześniejszej CCIR Recommendation 709.  Gdy  CCIR
              została  wchłonięta  w  swoją  organizację  nadrzędną,  ITU,  około  roku  2000,  standard  został
              przemianowany. Ten dokument odnosił się niegdyś do tego standardu jako CIE Rec. 709, lecz nie jest
              obecnie jasne, czy był to w ogóle standard CIE.

              Proszę zauważyć, że inną popularną przestrzenią barw jest nowsza sRGB. Częstym wariantem PPM  jest
              taki,  w którym przestrzeń kolorów jest przez nią zastępowana. Można korzystać z programu pnmgamma
              do przekształceń pomiędzy tym wariantem a prawdziwym PPM.

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

       Łańcuchy zaczynające się od znaku „#” mogą być komentarzami, tak samo jak w PBM(1).

       Proszę zauważyć, że można użyć pamdepth do konwersji pomiędzy formatami używającymi 1 bajtu na próbkę i 2
       bajtów na próbkę.

       Wszystkie znaki, o których tu mowa są zakodowane w ASCII. Znak nowego wiersza, odnosi się do znaku nowego
       wiersza ASCII (LF). Biały znak to spacja, powrót karetki (CR), znak nowego wiersza (LF), tabulator (TAB),
       tabulator pionowy (VT) lub wysuw strony (FF) — tj. to, co  funkcja  isspace()  standardu  C  ANSI  nazywa
       białym znakiem.

   Prosty PPM
       Istnieje  także  jeszcze  jedna,  dość  rzadko spotykana, wersja formatu PPM: „prosty” format PPM. Format
       opisany powyżej, który generalnie uważa się za zwykły format, jest znany  jako  format  "surowy".  pbm(1)
       zawiera komentarze na temat relacji pomiędzy formatem prostym a surowym oraz sposobu ich użycia.

       Różnice w prostym formacie są następujące:

       •      Plik zawiera dokładnie jeden obraz.

       •      „Magiczny numer” to „P3” zamiast „P6”.

       •      Każda próbka w rastrze jest reprezentowana jako numer dziesiętny ASCII (dowolnego rozmiaru).

       •      Każda próbka w rastrze ma biały znak przed i po. Pomiędzy dwoma dowolnymi próbkami musi występować
              przynajmniej  jeden  biały znak, ale nie ma górnego ograniczenia na liczbę białych znaków. Piksele
              nie są od siebie rozdzielane w jakiś szczególny sposób — wystarczy obowiązkowa separacja  pomiędzy
              próbką białą jednego piksela a próbką czerwoną kolejnego piksela.

       •      Linia nie powinna być dłuższa niż 70 znaków.

       Oto przykład małego obrazu w tym formacie:
       P3
       # feep.ppm
       4 4
       15
        0  0  0    0  0  0    0  0  0   15  0 15
        0  0  0    0 15  7    0  0  0    0  0  0
        0  0  0    0  0  0    0 15  7    0  0  0
       15  0 15    0  0  0    0  0  0    0  0  0

       Na końcu każdego wiersza znajduje się znak nowego wiersza.

       Programy,  które odczytują ten format, powinny być jak najwyrozumialsze, akceptując wszystko, co z daleka
       wygląda na obraz PPM.

IDENTYFIKATOR INTERNETOWY (MIME)

       Dla formatu PPM nie zarejestrowano internetowego identyfikatora formatu danych  (Internet  Media  Type  —
       MIME) w IANA, lecz konwencjonalna jest wartość image/x-portable-pixmap.

       Proszę zauważyć, że image/x-portable-anymap dotyczy też PNM.

NAZWA PLIKU

       Nie  ma  wymagań  odnośnie  nazwy  pliku  PPM,  lecz przyjęło się rozszerzenie „ppm”. Konwencjonalne jest
       również „pnm” w przypadkach, gdy nie jest wygodne rozróżnianie pomiędzy danymi podformatami PNM.

ZGODNOŚĆ

       Przed kwietniem 2000 roku, plik w surowym formacie PPM 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 PPM mógł zawierać  tylko  jeden  obraz.  W  wyniku  tego  większość  narzędzi
       przetwarzających pliki PPM ignoruje (nie czyta) danych po pierwszym obrazie.

ZOBACZ TAKŻE

       pnm(1), pgm(1), pbm(1), pam(1); programy, które przetwarzają PPM

ŹRÓDŁO DOKUMENTU

       Niniejszą  stronę  podręcznika  wygenerowano  za pomocą narzędzia Netpbm „makeman” ze źródeł HTML. Główna
       dokumentacja jest dostępna pod adresem

              http://netpbm.sourceforge.net/doc/ppm.html

TŁUMACZENIE

       Tłumaczenie  niniejszej  strony  podręcznika:  Przemek  Borys   <pborys@dione.ids.pl>,   Robert   Luberda
       <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>

       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.

dokumentacja netpbm                           9 października 2016 r                  Dokumentacja formatu PPM(5)