File: pgm.5

package info (click to toggle)
manpages-pl 1%3A0.7-1
  • links: PTS, VCS
  • area: main
  • in suites: buster, stretch
  • size: 22,276 kB
  • ctags: 7
  • sloc: sh: 112; makefile: 59; perl: 32
file content (168 lines) | stat: -rw-r--r-- 7,733 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.\" This file is distributed under the same license as original manpage
.\" Copyright of the original manpage:
.\" Copyright © 1989,1991 Jef Poskanzer (MIT)
.\" Copyright © of Polish translation:
.\" Przemek Borys (PTM) <pborys@dione.ids.pl>, 2000.
.\" Robert Luberda <robert@debian.org>, 2014, 2017.
.TH pgm 5 "12 listopada 1991"  
.SH NAZWA
pgm \- przenośny format szarej bitmapy

.SH OPIS
Format PGM jest najmniejszym wspólnym mianownikiem plików w formacie odcieni
szarości.
.IX "Format pliku PGM"
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.

.PP
Definicja formatu jest następująca:
.PP
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.
.PP
W skład każdego obrazu PGM wchodzą:
.IP \- 2
"Numer magiczny", identyfikujący rodzaj pliku. Numerem magicznym pliku pgm
są dwa znaki: "P5".
.IX "numery magiczne"
.IP \- 2
Biała spacja (spacje, tabulacje, CR, LF).
.IP \- 2
Szerokość, sformatowana jako dziesiętne ASCII.
.IP \- 2
Biała spacja.
.IP \- 2
Wysokość, znów jako dziesiętne ASCII.
.IP \- 2
Biała spacja.
.IP \- 2
Maksymalna wartość szarości (maxval), znów jako dziesiętne ASCII. Musi być
mniejsza od 65536.
.IP \- 2
Znak nowej linii lub inny znak białej spacji.
.IP \- 2
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.
.IP \- 2
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.
.IP \- 2
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. \fBpnmgamma\fP potrafi przyjąć plik PGM w takim wariancie na
wejściu i wyprodukować prawdziwy plik PGM na wyjściu.
.IP \- 2
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).
.IP \- 2
Znaki od "#" do znaku końca linii, przed linią maxval są ignorowane jako
komentarze.
.PP
Proszę zauważyć, że można użyć \fBpnmdepth\fP do konwersji pomiędzy formatami
używającymi 1 bajtu na wartość szarości i 2 bajtów na wartość szarości.
.PP
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. \fBpbm\fP(5) zawiera
komentarze na temat relacji pomiędzy formatem czystym a surowym.
.PP
Różnice formatu czystego to:
.IP \- 2
Plik zawiera dokładnie jeden obraz.
.IP \- 2
"Magiczny numer" to "P2" zamiast "P5".
.IP \- 2
Każda piksel w rastrze jest reprezentowany jako numer dziesiętny ASCII
(dowolnego rozmiaru).
.IP \- 2
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.
.IP \- 2
Żadna z linii nie powinna być dłuższa niż 70 znaków.
.PP
Oto przykład małego obrazka w tym formacie:
.nf
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
.fi
.PP
Programy, które odczytują ten format powinny być jak najwyrozumialsze,
akceptując wszystko, co z daleka wygląda jak mapa szarości.

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

.SH "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)
.SH AUTOR
Copyright (C) 1989, 1991 Jef Poskanzer.
.\" Permission to use, copy, modify, and distribute this software and its
.\" documentation for any purpose and without fee is hereby granted, provided
.\" that the above copyright notice appear in all copies and that both that
.\" copyright notice and this permission notice appear in supporting
.\" documentation.  This software is provided "as is" without express or
.\" implied warranty.
.SH 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>.
.PP
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ą \fB 10.0 \fPoryginału.