zodop

Transkript

zodop
ZODOP
manuál
2
ZODOP
ZODOP
3
OBSAH
1.
ÚVOD .............................................................................................................................................. 6
2.
NOVÝ OBRAZ ............................................................................................................................. 10
3.
OTEVŘÍT ...................................................................................................................................... 11
4.
OTEVŘÍT JAKO .......................................................................................................................... 12
5.
ULOŢIT ......................................................................................................................................... 13
6.
ULOŢIT JAKO ............................................................................................................................. 13
7.
ULOŢIT VŠE ................................................................................................................................ 14
8.
ULOŢIT SEZNAM ....................................................................................................................... 14
9.
ULOŢIT SOUBORY JAKO ........................................................................................................ 15
10.
OBNOVIT Z DISKU ................................................................................................................ 15
11.
KONEC ..................................................................................................................................... 15
12.
NASTAVENÍ TISKU ............................................................................................................... 15
13.
NASTAVENÍ STRANY ........................................................................................................... 15
14.
TISK........................................................................................................................................... 19
15.
SEZNAM SOUBORŮ .............................................................................................................. 20
16.
EDITAČNÍ FUNKCE............................................................................................................... 20
17.
NASTAVENÍ ............................................................................................................................. 21
18.
AKTUÁLNÍ BARVA................................................................................................................ 24
19.
FUNKCE ZOBRAZENÍ ........................................................................................................... 26
20.
DVOUOBRAZOVÉ OPERACE ............................................................................................. 28
21.
HISTOGRAM ........................................................................................................................... 31
22.
ÚPRAVA PALETY .................................................................................................................. 39
23.
SPOJIT ...................................................................................................................................... 43
24.
ROZDĚLIT NA RGB ............................................................................................................... 47
25.
ROZDĚLIT NA YHS ............................................................................................................... 47
26.
RGB->INDEX ........................................................................................................................... 48
27.
INDEX-> RGB .......................................................................................................................... 49
28.
SOUBORY INDEX-> RGB ..................................................................................................... 49
4
ZODOP
29.
ZABALIT / ROZBALIT .......................................................................................................... 49
30.
PROFIL ..................................................................................................................................... 50
31.
KONVOLUČNÍ FILTRACE ................................................................................................... 51
32.
POŘÁDKOVÉ FILTRY .......................................................................................................... 55
33.
LOKÁLNÍ EKVALIZACE HISTOGRAMU ......................................................................... 57
34.
FOURIEROVA TRANSFORMACE ...................................................................................... 60
35.
MĚŘÍTKO ................................................................................................................................ 68
36.
TRANSFORMACE .................................................................................................................. 71
37.
GEOMETRICKÉ TRANSFORMACE POMOCÍ VLÍCOVACÍCH BODŮ ...................... 73
38.
SNÍMÁNÍ .................................................................................................................................. 80
39.
SPUSTIT MAKRO ................................................................................................................... 81
40.
FUNKCE PRACUJÍCÍ S VYBRANOU OBLASTÍ ............................................................. 102
41.
OKNA ...................................................................................................................................... 105
42.
NÁPOVĚDA............................................................................................................................ 106
43.
VÝKONNÉ ZÁSUVNÉ MODULY ....................................................................................... 106
44.
POKUSNÝ OBRÁZEK .......................................................................................................... 107
45.
VLOŢIT TEXT ....................................................................................................................... 107
46.
VLOŢIT ČÁRU ...................................................................................................................... 109
47.
VLOŢIT IKONU .................................................................................................................... 110
48.
ÚPRAVY VEKTOROVÝCH OBRAZŮ .............................................................................. 112
49.
VÍCEVRSTVÝ OBRAZ ......................................................................................................... 116
50.
SOUŘADNICE ....................................................................................................................... 118
51.
JAS A KONTRAST ................................................................................................................ 121
52.
HLAVNÍ KOMPONENTY .................................................................................................... 123
53.
PŘIDAT ŠUM ......................................................................................................................... 125
54.
VYVÁŢENÍ BÍLÉ................................................................................................................... 126
55.
PRŮCHOD NULOU ............................................................................................................... 127
56.
FÁZOVÁ KORELACE .......................................................................................................... 128
57.
DETEKCE ROHŮ .................................................................................................................. 130
58.
ANIMOVANÝ GIF ................................................................................................................ 132
ZODOP
5
59.
POROVNÁNÍ OBRAZŮ ........................................................................................................ 136
60.
TEST FOTOMONTÁŢÍ ........................................................................................................ 138
61.
KRESLENÍ GRAFŮ............................................................................................................... 139
62.
ČTENÍ MAP ........................................................................................................................... 141
63.
ZEMĚPISNÉ SOUŘADNICE ............................................................................................... 144
64.
FORMÁTOVÉ ZÁSUVNÉ MODULY ................................................................................. 149
65.
BMP ......................................................................................................................................... 149
66.
FITS ......................................................................................................................................... 150
67.
GIF ........................................................................................................................................... 150
68.
ICO .......................................................................................................................................... 150
69.
JPEG ........................................................................................................................................ 150
70.
PNG.......................................................................................................................................... 151
71.
PGMPPM ................................................................................................................................ 151
72.
PIC_I........................................................................................................................................ 151
73.
POSTSCRIPT ......................................................................................................................... 151
74.
TIFF ......................................................................................................................................... 151
75.
VZORKOVANÝ TIFF ........................................................................................................... 151
76.
FORMÁT HOLÁ DATA ....................................................................................................... 152
77.
JAK VYTVÁŘET ZÁSUVNÉ MODULY PRO PROGRAM ZODOP .............................. 156
78.
DODATEK A: CHYBOVÉ KÓDY ....................................................................................... 179
79.
DODATEK B: MASKY FILTRŮ PRO KONVOLUČNÍ FILTRACI ............................... 185
6
ZODOP
1. Úvod
ZODOP (Zpracování Obrazových Dat Ochrany Přírody) je program na zpracování obrazu v prostředí
MS Windows. Je ovládán z menu. Některé operace je moţné vyvolat téţ pomocí tlačítek v horní
nástrojové liště, další jsou na plovoucí nástrojové liště. Některé déletrvající operace je moţno přerušit
klávesou Pause.
Takto vypadá hlavní okno programu:
1.1 Stavová lišta
V dolní části hlavního okna je stavová lišta, která obsahuje tyto údaje
1.1.1
Paleta
Paleta zdrojového obrazu, tzn. tabulka se seznamem barev. Pokud je hloubka obrazu 8 bitů, je zde
zobrazena plná paleta, palety obrazů s menší hloubkou jsou roztaţené, při hloubce 16 bitů je zobrazena
jen kaţdá 256. barva. U obrazů s hloubkou 24 nebo 32 bitů se paleta nepouţívá.
1.1.2
Rozměry
Šířka x výška x hloubka zdrojového obrazu. Šířka je počet sloupců, výška je počet řádků a hloubka je
počet bitů na pixel. V současnosti můţe být 1, 2, 4, 8, 16, 24 nebo 32, přičemţ hloubky 8 a 24 jsou
preferovány, tzn. s ostatními hloubkami není moţné provádět některé operace. U obrazů s hloubkami 1
aţ 16 bitů jsou v obrazové matici indexy a barvy jsou vybírány z palety, např. index 5 znamená, ţe
příslušný obrazový bod (pixel) se zobrazí v páté barvě z palety (jsou číslované od nuly). Pokud mají
pro index i v paletě všechny tři základní barvy hodnotu i a to pro všechny indexy, jedná se o černobílý
obraz, jinak mluvíme o obrazu v indexových barvách. U obrazů s hloubkou 24 nebo 32 bitů jsou
v obrazové matici přímo hodnoty základních barev příslušného pixelu a paleta se nepouţívá. V případě
vektorového nebo vícevrstvého obrazu je šířka a výška rozdíl mezi maximální a minimální souřadnicí
ve vodorovném a svislém směru. Údaj o hloubce pak nemá smysl.
1.1.3
Poloha kurzoru
x, y jsou souřadnice kurzoru, D je hodnota (index) pixelu pod kurzorem, R, G a B je hodnota červené,
zelené a modré (v případě indexových barev podle palety pro daný index). Při výběru obdélníku se zde
objevují údaje x0, y0 - počátek vybíraného obdélníku, při výběru oblasti w, h - šířka a výška obdélníka
opsaného dosud vybrané oblasti.
1.1.4
Komentář
Komentář přiřazený obrazu.
ZODOP
7
Následuje seznam poloţek hlavního menu. V menu se navíc mohou objevit poloţky odkazující na
zásuvné moduly, zde jsou uvedeny ve zvláštní kapitole.
1.2 Soubor
Nový
Otevřít
Otevřít jako
Uloţit
Uloţit jako
Uloţit vše
Uloţit seznam
Obnovit z disku
Nastavení tisku
Nastavení strany
Tisk
Konec
Seznam souborů
1.3 Úpravy
Zpět
Částečně zpět
Částečně obnovit
Vyjmout
Kopírovat
Vloţit
Vloţit do nového
Vymazat
Kopie obrazu
Označit obraz jako druhý
Nastavení
Aktuální barva
Komentář
1.4 Zobrazit
Jedna ku jedné
Zvětšit
Zmenšit
Změna měřítka vzhledem k
Lupa
Obnovit
Informace o obrazu
Přehled polohy okna
Nástrojová lišta
Stavová lišta
Plovoucí nástroje
1.5 Nástroje
Operace byly rozděleny do 4 skupin. Bodové operace určují výslednou hodnotu pixelu pouze ze
vstupních hodnot pixelů se stejnou polohou, filtrace určují výslednou hodnotu z okolí pixelu a
geometrické transformace zcela mění polohu pixelu v obrazu. Ve skupině Snímat jsou různé způsoby
snímání obrazu z obrazovky, kamerou nebo jiným vstupním zařízením. Zcela zvlášť je volání dialogu
pro práci s makry. Menu Nástroje má tvar:
Bodové operace
Filtrace
Geometrie
Snímat
8
ZODOP
Spustit makro
1.5.1
Bodové operace
Aritmetické a logické operace
Histogram
Paleta
Kanály
Profil
1.5.1.1 Kanály
Spojit
Rozdělit na RGB
Rozdělit na YHS
RGB->Index
Index->RGB
Zabalit/Rozbalit
1.5.2
Filtrace
Konvoluční filtr
Pořádkový filtr
Lokální ekvalizace
Fourier
1.5.3
Geometrie
Měřítko
Transformace
Vlícovací body
1.5.4
Snímat
Vybrat zařízení TWAIN...
Snímat pomocí TWAIN...
Snímat okno
Snímat klientskou plochu
Snímat celou obrazovku
Snímat okno pod kurzorem
Snímat plochu
Snímat objekt
Snímat tvar kurzoru
Nastavit snímání z obrazovky
Snímat zdroj z EXE
Konec snímání z obrazovky
1.6 Vybrat oblast
Vybrat vše
Vybrat
Zobrazit / skrýt vybranou oblast
Vloţit vybranou oblast
Inverze vybrané oblasti
Kopie vybrané oblasti
Alfa kanál -> obraz
Obraz -> alfa kanál
1.6.1
Vybrat
Dialogem
Obdélník
Oblý obdélník
Elipsu
Obecný tvar
Kouzelnou hůlkou
ZODOP
9
Citlivost kouzelné hůlky
1.7 Okna
Kaskáda
Mozaika
Uspořádat ikony
Zavřít vše
Minimalizovat vše
Obnovit vše
Seznam obrazů
1.8 Nápověda
Obsah
Index
O aplikaci
1.9 Zásuvné moduly
V současné době jsou k dispozici tyto zásuvné moduly:
Pokusný obrázek
Animovaný GIF
Vloţit čáru
Vloţit ikonu
Vloţit text
Úprava vektorových obrazů
Souřadnice
Vícevrstvý obraz
Jas a kontrast
Hlavní komponenty
Přidat šum
Průchod nulou
Spojit obrazy
Detekce rohů
Fázová korelace
Virtuální kruhy
Otevřít mapu
Zeměpisné souřadnice
Kaţdý zásuvný modul si sám určí do kterého menu bude zařazen.
1.10 Konfigurace programu
Při překladu programu se pouţívají některé konstanty. V současné době jsou nastaveny takto:
Maximální šířka obrazu:
Maximální výška obrazu:
Minimální měřítko:
Maximální měřítko:
Maximální rozměr zvětšeného obrazu:
Plocha vektorového obrazu po otevření:
Maximální počet obrazů v menu:
Maximální počet výkonných zásuvných modulů:
Maximální délka řetězce se jménem skupiny zásuvných modulů:
Maximální délka řetězce s pořadím ve skupině zásuvných modulů:
Maximální hloubka vnoření submenu zásuvných modulů:
Implicitní hustota při tisku (pro malé obrazy):
Maximální délka řetězce se jménem souboru vkládaným do menu
Maximální délka jména funkce v makru
Maximální délka parametru v makru
Váhy základních barev při hledání nejbliţší barvy
65 535
65 535
0.1%
102400%
67 108 864
512 × 512
15
300
30
6
16
72 dpi
40
30
256
10
ZODOP
červená:
zelená:
modrá:
Váhy základních barev při výpočtu jasu
1
1
1
červená:
zelená:
modrá:
0.299
0.587
0.114
Na poţádání je moţné dodat verzi s jinak nastavenými těmito konstantami. Nejdůleţitější z nich jsou
zobrazeny téţ v dialogu O aplikaci.
1.11 Vstupní obrazy
Jako vstupní snímek pro vybranou operaci se pouţívá obraz označený jako zdrojový. Je to obraz
v obrazovém okně, které bylo naposledy zaměřeno (mělo fokus). Toho dosáhneme kliknutím levou
myší na ţádané obrazové okno. Toto okno pak má barevně zvýrazněný titulek. Některé operace
potřebují dva vstupní snímky. Jako druhý vstupní snímek se pouţívá obraz v obrazovém okně
označeném jako druhý. Toho dosáhneme kliknutím pravou myší na ţádané obrazové okno. V titulku
obrazu se pak objeví slovo "DRUHÝ". Lze toho téţ docílit voláním z menu Úpravy / Označit obraz
jako druhý.
1.12 Obrazové okno
Obrazové okno lze ovládat myší: kliknutím na lištu s titulkem okno přesunovat, kliknutím na skrolovací
lištu posunovat obsah okna. Téhoţ lze dosáhnout kliknutím přímo do okna. Dvojitý klik obraz dvakrát
zvětší, dvojitý klik pravou myší obraz dvakrát zmenčí. Posun ve svislém směru je moţné řídit také
kolečkem u myši, v případě, ţe obrazové okno má jen vodorovnou skrolovací lištu, řídí se kolečkem
posun vodorovně.
Obrazové okno lze ovládat také z klávesnice.
Pokud je okno zaměřeno (má fokus), lze je ovládat kurzorovými klávesami, viz následující tabulka:
šipky vlevo a vpravo
šipky nahoru a dolů
Ctrl + šipky vlevo a vpravo
Ctrl + šipky nahoru a dolů
Home
End
Ctrl + Home
Ctrl + End
PageUp
PageDown
Ctrl + PageUp
Ctrl + PageDown
+
-
posun o pixel vodorovně
posun o pixel svisle
posun o sloupec (10 pixelů) vodorovně
posun o řádek (10 pixelů) svisle
posun na začátek obrazu vodorovně
posun na konec obrazu vodorovně
posun na začátek obrazu svisle
posun na konec obrazu svisle
posun o šířku okna nahoru
posun o šířku okna dolů
posun o šířku okna doprava
posun o šířku okna doleva
dvakrát zvětšit
dvakrát zmenšit
Klávesa F1 s Ctrl zobrazí nápovědu. Posuny se provedou pouze kdyţ má okno posuvné lišty.
Obrazové okno lze ovládat pomocí akcelerátorů i kdyţ není zaměřeno, ale je označeno jako zdrojové.
Týká se zejména virtuálních kláves + a -, které stisknuty s klávesou Ctrl pracují i v tomto případě a
klávesy F4, která opět spolu s Ctrl zavře obrazové okno. Další tzv. horké klávesy lze nalézt v pravé
části příslušné poloţky hlavního menu.
Nyní k jednotlivým funkcím v pořadí, ve kterám jsou uvedeny v menu.
2. Nový obraz
ZODOP
11
Vytvoření nového obrazu. Takto vypadá dialogové okno
2.1 Počet sloupců
Počet sloupců (šířka) nového obrazu.
2.2 Počet řádků
Počet řádků (výška) nového obrazu.
2.3 Šedotónový
Vytvořený černobílý obraz v 8-bitovém formátu bude vyplněn úrovní šedi danou parametrem Index
v dialogu Aktuální barva.
2.4 Barevný (24 bitů)
Vytvořený barevný obraz ve 24-bitovém formátu bude vyplněn barvou danou parametry Č, Z a M
v dialogu Aktuální barva.
2.5 Nový obraz
Vytvořit nový obraz zvolených rozměrů a barvy.
2.6 Barva
Zde je moţno zavolat dialog pro volbu barvy pozadí, která určuje barvu vytvořeného obrazu.
Nezapomeňte, ţe pro 8-bitové obrazy v indexových barvách platí parametr Index, zatímco pro 24bitové RGB obrazy platí parametry Č, Z a M.
2.7 Zavřít
Zavřít dialog o novém obrazu.
2.8 Nápověda
Zobrazí se nápověda dialogu.
3. Otevřít
Otevřít soubor a přečíst z něj obraz. Je moţné otevřít několik souborů najednou. Formát se určuje podle
přípony souboru. Můţe být buď
„.fl“
soubor se jmény souborů, které jsou vzápětí otevřeny
12
ZODOP
nebo některá z přípon rozpoznávaných zásuvnými moduly. V současné době jsou k dispozici zásuvné
moduly s těmito příponami:
„.bmp“
„.fit“
„.gif“
„.ico“
„.jpg“
„.pct“
„.pgm“
„.ppm“
„.pic“
„.png“
„.raw“
„.siz“
„.tif“
formát BMP pro bitmapy ve Windows
formát fits
formát Compuserve GIF
formát ikon ve Windows
formát JPEG
formát MacPict
formát „Portable Graymap“
formát „Portable Pixel Map“
formát PIC pro infračervené snímky
formát Portable Network Graphics
formát holá data.
údaje o souboru ve formátu holá data (viz formát siz souboru)
formát TIFF.
A dále zásuvné moduly pro čtení vektorových obrazů:
„shp“
„wmf“
„emf“
„dgn“
„cgm“
„cmx“
„drw“
„dwf“
„dwg“
„dxf“
„dgf“
„pcl“
„pct“
„plt“
„svg“
„vec“
formát „Environmental Systems Research Institute“
formát „Windows Meta File“
formát „Windows Enhanced Meta File“
formát „Intergraph Microstation“
formát „Computer Graphics Metafile“
formát „Corel Presentation Exchange“
formát „DRaWing – Micrografx Designer“
formát „AutoCAD“
formát „AutoCAD“
formát „Drawing Interchange Format“
formát „Gerber File“
formát „Printer Command Language“
formát „Vector Macintosh QuickDraw PCT“
formát „HPGL – Hewlett-Packarde“
formát „Scalable Vector Graphics“
vlastní formát LeadTools.
Soubor ve formátu TIFF je moţné číst také zásuvným modulem Vzorkovaný TIFF, který umoţňuje
otevřít pouze výřez obrazu nebo zmenšený obraz. Viz téţ Formátové zásuvné moduly.
V případě, ţe jsou nalezeny 2 filtry se stejnou příponou a byl zvolen soubor s touto příponou, pokusí se
program otevřít soubor nejprve tím formátem, jehoţ filtr byl vybrán v seznamu filtrů. Pokud nebyl
vybrán ţádný filtr, začne se formátem, který byl nalezen jako první. V případě neúspěchu jsou zkoušeny
všechny formáty s danou příponou.
V případném hlášení o chybě se můţe vyskytnout chybový kód (viz).
4. Otevřít jako
Otevřít soubor a přečíst z něj obraz. Formát se určuje podle zvoleného filtru bez ohledu na obvyklou
příponu. V současné době jsou k dispozici zásuvné moduly s těmito příponami:
„.bmp“
„.fit“
„.gif“
„.ico“
„.jpg“
„.pct“
„.pgm“
formát BMP pro bitmapy ve Windows
formát fits
formát Compuserve GIF
formát ikon ve Windows
formát JPEG
formát MacPict
formát „Portable Graymap“
ZODOP
„.ppm“
„.pic“
„.png“
„.raw“
„.tif“
13
formát „Portable Pixel Map“
formát PIC pro infračervené snímky
formát Portable Network Graphics
formát holá data.
formát TIFF
A dále zásuvné moduly pro čtení vektorových obrazů:
„shp“
„wmf“
„emf“
„dgn“
„cgm“
„cmx“
„drw“
„dwf“
„dwg“
„dxf“
„dgf“
„pcl“
„pct“
„plt“
„svg“
„vec“
formát „Environmental Systems Research Institute“
formát „Windows Meta File“
formát „Windows Enhanced Meta File“
formát „Intergraph Microstation“
formát „Computer Graphics Metafile“
formát „Corel Presentation Exchange“
formát „DRaWing – Micrografx Designer“
formát „AutoCAD“
formát „AutoCAD“
formát „Drawing Interchange Format“
formát „Gerber File“
formát „Printer Command Language“
formát „Vector Macintosh QuickDraw PCT“
formát „HPGL – Hewlett-Packarde“
formát „Scalable Vector Graphics“
vlastní formát LeadTools.
Soubor ve formátu TIFF je moţné číst také zásuvným modulem Vzorkovaný TIFF, který umoţňuje
otevřít pouze výřez obrazu nebo zmenšený obraz. Viz téţ Formátové zásuvné moduly.
V případném hlášení o chybě se můţe vyskytnout chybový kód (viz).
5. Uloţit
Uloţit obraz do stejného souboru, ze kterého byl otevřen. Jestliţe byl vytvořen jako nový, bezejmenný,
je pouţit dialog Uloţit jako. Podobně v některých speciálních případech formátu holá data (viz zásuvný
modul Holá data), pokud byl otevřen příkazem Otevřít jako a v případě, ţe byl otevřen zásuvným
modulem, který neumoţňuje zápis.
6. Uloţit jako
Uloţit obraz do souboru pod jiným jménem nebo v jiném formátu. Obraz se zároveň přejmenuje.
Formát se určuje podle přípony souboru. V současné době jsou k dispozici zásuvné moduly s těmito
příponami:
„.bmp“
„.gif“
„.ico“
„.jpg“
„.pct“
„.pgm“
„.ppm“
„.pic“
„.png“
„.ps“
„.raw“
„.tif“
formát BMP pro bitmapy ve Windows
formát Compuserve GIF
formát ikon ve Windows
formát JPEG
formát MacPict
formát „Portable Graymap“
formát „Portable Pixel Map“
formát PIC pro infračervené snímky
formát Portable Network Graphics
formát PostScript
formát holá data
formát TIFF.
14
ZODOP
A dále zásuvné moduly pro zápis vektorových obrazů:
„shp“
„wmf“
„emf“
„cgm“
„drw“
„dwf“
„dxf“
„dgf“
„pcl“
„pct“
„plt“
„svg“
„vec“
formát „Environmental Systems Research Institute“
formát „Windows Meta File“
formát „Windows Enhanced Meta File“
formát „Computer Graphics Metafile“
formát „DRaWing – Micrografx Designer“
formát „AutoCAD“
formát „Drawing Interchange Format“
formát „Gerber File“
formát „Printer Command Language“
formát „Vector Macintosh QuickDraw PCT“
formát „HPGL – Hewlett-Packarde“
formát „Scalable Vector Graphics“
vlastní formát LeadTools.
Viz téţ Formátové zásuvné moduly.
V případě, ţe jsou nalezeny 2 filtry se stejnou příponou a byl zvolen soubor s touto příponou, uloţí
program soubor v tom formátu, jehoţ filtr byl vybrán v seznamu filtrů. Pokud nebyl vybrán ţádný filtr,
pouţije se formát, který byl nalezen jako první. V seznamu filtrů se objeví jen ty formáty, které
umoţňují zápis daného typu obrazu. Někdy je moţné vypsat ručně příponu jiného formátu, ale obraz se
pak uloţí např. se změněnou hloubkou.
V případném hlášení o chybě se můţe vyskytnout chybový kód.
7. Uloţit vše
Po potvrzení budou všechny obrazy uloţeny do souborů. Při ukládání nově vytvořených dosud
bezejmenných obrazů se objeví dotaz na jméno a formát nového souboru rozlišovaný podle přípony.
K dispozici jsou pouze formáty ze zásuvných modulů doporučené i pro zápis nových obrazů.
V současné době jsou k dispozici zásuvné moduly s těmito příponami:
„.tif“
formát TIFF
„.raw“
soubor ve formátu holá data.
Viz téţ Formátové zásuvné moduly.
V případném hlášení o chybě se můţe vyskytnout chybový kód.
Při potvrzování této akce by měl uţivatel zváţit, zda si chybným obrazem nepřepíše původní dobrá
data.
8. Uloţit seznam
Do souboru se zadaným jménem bude uloţen seznam jmen otevřených obrazů. Tento soubor by měl mít
příponu „.fl“ aby ho bylo moţné otevřít (viz Otevřít). Při potvrzení dotazu na uloţení budou obrazy
uloţeny do souborů. Při ukládání nově vytvořených dosud bezejmenných obrazů se objeví dotaz na
jméno a formát nového souboru rozlišovaný podle přípony. Při tomto dotazu je moţné zrušit uloţení
takového obrazu, ale potom nebude zahrnut ani do vytvářeného seznamu. K dispozici jsou pouze
formáty ze zásuvných modulů doporučené i pro zápis nových obrazů. V současné době jsou k dispozici
zásuvné moduly s těmito příponami:
„.tif“
formát TIFF
„.raw“
soubor ve formátu holá data.
Viz téţ Formátové zásuvné moduly.
V případném hlášení o chybě se můţe vyskytnout chybový kód.
ZODOP
15
9. Uloţit soubory jako
Tímto příkazem se vybrouné soubory uloţí v novém formátu. Pouţije se k tomu následující dialog
9.1 Nový formát zvolených souborů
Zde je moţné zvolit nový formát souborů s obrazy. Jsou zde všechny dostupné zásuvné moduly
umoţňující zápis a není kontrolováno, zda obrazy ze všech vybraných souborů lze zapsat ve všech zde
uvedených formátech. Volte prosím proto pouze takové formáty, které umoţní zápis vámi zvolených
obrazů. Například vektorové obrazy není moţno uloţit v rastrovém formátu a naopak.
9.2 OK
Objeví se dialog, pro volbu souborů a zvolené soubory budou uloţeny v novém formátu. Budou
uloţeny v novém adresáři se jménem odvozeným od nového formátu a dialog se poté zruší.
9.3 Zrušit
Zrušit dialog o uloření obrazů v novém formátu aniţ by nějaké obrazy byly uloţeny.
10. Obnovit z disku
Obraz je znovu přečten ze souboru, ze kterého byl původně otevřen. Jestliţe byl vytvořen jako nový,
bezejmenný, operace se neprovede.
11. Konec
Konec programu.
12. Nastavení tisku
Zde je moţno zvolit typ tiskárny, orientaci, velikost a zdroj papíru a případně další údaje závislé na
konkrétním typu tiskárny.
13. Nastavení strany
Tento dialog slouţí k nastavení velikosti a polohy obrazu na stránce při tisku.
16
ZODOP
Takto vypadá:
13.1 Náčrt stránky s obrazem
Zde je schematicky naznačena podoba stránky či stránek s obrazem. Kliknutím levou myší dovnitř
náčrtku obrazu je moţno s ním pohybovat a nastavit tak polohu obrazu na stránce.
13.2 Rámeček
Při potvrzení tohoto tlačítka se v náčrtku stránky s obrazem zobrazuje pouze obrys obrazu, nikoli celý
zmenšený obraz. Je to výhodné k přesnějšímu nastavení polohy obrazu s bílými okraji a také je to
rychlejší.
13.3 Dělení obrazu
Při potvrzení tohoto tlačítka je povoleno dělení obrazu na více stránek. V náčrtu stránky s obrazem se
objeví znázornění hranic jednotlivých stránek a pokud to rozměry dovolí i čísla stránek vyuţitelná
později pro tisk pouze některých z nich. Barvu je moţno zvolit kliknutím na (barevné) políčko vpravo
dole od náčrtu.
Upozornění:
1. Pokud zvolíte polohu obrazu takovou, ţe levý horní roh obrazu nebude leţet na první stránce, budou
stránky přečíslovány tak, aby se netiskly bílé stránky, ale aby se vytiskl celý obraz.
2. Existuje limit na počet stránek, který je moţné najednou zpracovat, v současnosti je to 32766
stránek.
13.4 Jednotka délky
Zde je moţno zvolit jednotku, ve které jsou udávány délkové údaje v dialogu, tzn. počátek a rozměry
obrazu, minimální okraje tiskárny a rozměry papíru. V současnosti je k dispozici centimetr (cm),
milimetr (mm), palec (inch) a anglický typografický bod (pt). Vnitřně jsou však uloţeny v desetinách
milimetru. Přepočet je
1 cm
1 mm
= 100
= 10
desetin mm,
desetin mm,
ZODOP
1 inch
1 pt
17
= 254 desetin mm a
= 3.52777... desetin mm = 1/72 inch.
13.5 Jednotka hustoty
Zde je moţno zvolit jednotku, ve které jsou udávány údaje o hustotě (rozlišení) v dialogu, tzn. hustota
obrazu při tisku a při vzorkování a rozlišení tiskárny. V současnosti je k dispozici počet pixelů na palec
(dpi), na centimetr (1/cm), na milimetr (1/mm) a na anglický typografický bod (1/pt). Přepočet lze
odvodit podle přepočtu jednotek délky.
13.6 Minimální okraje tiskárny - vlevo, vpravo, nahoře a dole
Tyto údaje slouţí jednak ke správnému zobrazení náčrtu stránky s obrazem, jednak ke správnému
určení velikosti potištitelné plochy stránky na dané tiskárně. Obsluţné programy některých tiskáren
umoţňují zadat tyto okraje, ty jsou pak pouţity jako implicitní, pro ostatní jsou implicitní údaje 6.4 mm
(přibliţně čtvrt palce), coţ přibliţně odpovídá běţným laserovým tiskárnám.
Chcete-li je stanovit přesně, je postup následující:
Vloţte papír do tiskárny obvyklým způsobem. Nastavte tisk na této tiskárně (tlačítko Nastavit tisk)
včetně správného formátu papíru a orientace na výšku. Vyberte si nějaký obraz, který nemá bílé okraje.
Nastavte všechny minimální okraje tiskárny nulové a šířku a výšku obrazu menší neţ je velikost
zvoleného formátu papíru. Zmáčkněte tlačítko Počátek, čímţ se počátek obrazu na stránce nastaví na
nulu (levý horní roh stránky), tlačítkem OK údaje potvrďte a obraz vytiskněte (poloţka Tisk v submenu
Soubor hlavního menu). Poté zopakujte celý postup znovu, ale místo tlačítka Počátek zmáčkněte
tlačítko Konec, čímţ se poloha obrazu na stránce nastaví na pravý dolní roh stránky a opět obraz
vytiskněte. V prvém případě změřte vzdálenost levého okraje obrazu od levého okraje stránky a
podobně vzdálenost horních okrajů. Tak získáte údaje o levém a horním minimálním okraji tiskárny. Ve
druhém případě změřte vzdálenosti pravých a dolních okrajů a získáte údaje o pravém a dolním
minimálním okraji tiskárny.
Pokud nejsou údaje o levém a horním okraji zadány přesně, způsobí to pouze nepřesné zobrazení náčrtu
stránky s obrazem, pokud však jsou údaje o pravé a dolním okraji menší neţ skutečnost (rozhodující je
součet levého a pravého okraje a součet horního a dolního okraje), nemusejí se obrazy vytisknout celé.
Přejete-li si však, aby tiskárna potiskla menší část stránky, můţete stanovit pravý a dolní okraj větší.
13.7 Počátek vodorovně
Vzdálenost levého okraje obrazu od levého okraje stránky v aktuálních jednotkách délky. Vzdálenost
daná parametrem levý minimální okraj tiskárny se do této vzdálenosti nepočítá.
13.8 Počátek svisle
Vzdálenost horního okraje obrazu od horního okraje stránky v aktuálních jednotkách délky. Vzdálenost
daná parametrem horní minimální okraj tiskárny se do této vzdálenosti nepočítá.
13.9 Hustota vodorovně
Hustota obrazu vodorovně v aktuálních jednotkách hustoty neboli počet pixelů na jednotku délky
vodorovně.
13.10 Hustota svisle
Hustota obrazu svisle v aktuálních jednotkách hustoty neboli počet pixelů na jednotku délky svisle.
13.11 Šířka
Šířka obrazu na papíře v aktuálních jednotkách délky.
13.12 Výška
Výška obrazu na papíře v aktuálních jednotkách délky.
18
ZODOP
13.13 Zachovat poměr stran
Potvrzovací tlačítko vpravo vedle údajů a šířce a výšce obrazu. Při potvrzení tohoto tlačítka budou
hustoty obrazu vodorovně a svisle stejné a šířka a výška obrazu bude nastavována tak, aby poměr stran
obrazu zůstal zachován. Implicitně je toto tlačítko potvrzené. Po zrušení potvrzení je moţno zadat
odlišné hustoty vodorovně a svisle, při opětném potvrzení se nová hustota stanoví jako odmocnina ze
součinu stávajících hustot vodorovně a svisle.
13.14 Měřítko
Zde je uveden poměr mezi hustotou vzorkování a hustotou obrazu. Údaj se objeví pouze kdyţ je
potvrzeno tlačítko Zachovat poměr stran a tudíţ hustota obrazu vodorovně a svisle je stejná. Naopak
zápis hodnoty do tohoto editačního okénka způsobí automatické potvrzení tohoto tlačítka. Zadáme-li
jenom jedno číslo k bez znaku ‚:„, je údaj chápán jako 1:k. Při tisku snímků zemského povrchu je
výhodné zadat do údaje o vzorkování hustotu pixelů na zemském povrchu a údaj o měřítku pak udává
měřítko vytištěného obrazu.
13.15 Vzorkování
Zde je moţno zadat hustotu obrazu při vzorkování, tedy při digitalizaci. Tento údaj slouţí k výpočtu
měřítka, tedy poměru velikosti vytištěného a původního obrazu. Jestliţe tiskneme např. mapy 1:10 000
digitalizované s hustotou 200 dpi, bude vzorkování 200:10000=0.02 dpi. Je téţ moţné zadat přímo
hustotu digitalizace 200 dpi, pak bude měřítko udávat poměr mezi měřítkem vytištěné a původní mapy.
13.16 Políčko s volitelnou barvou
Kliknutím na toto políčko je moţno zvolit barvu, kterou se budou zobrazovat hranice a případně čísla
stránek v náčrtu stránky s obrazem při potvrzení tlačítka Dělení obrazu.
13.17 Maximum
Šířka a výška obrazu je stanovena tak, aby byla co největší a přitom se vešla na jednu stránku.
Respektuje se přitom stav tlačítka Zachovat poměr stran.
13.18 Počátek
Počátek obrazu na stránce vodorovně a svisle se nastaví na nulu (levý horní roh stránky).
13.19 Střed
Poloha obrazu na stránce (Počátek obrazu vodorovně a svisle) se nastaví tak, aby obraz leţel uprostřed
stránky.
13.20 Konec
Poloha obrazu na stránce (Počátek obrazu vodorovně a svisle) se nastaví tak, aby pravý dolní roh
obrazu leţel v pravém dolním rohu stránky.
13.21 Obnovit
Obsah dialogu je obnoven. To je uţitečné, pokud v průběhu dialogu vyberete jiný obraz a potřebujete
aktualizovat dialog podle něj.
13.22 Nastavení tisku
Zde je moţno zavolat dialog, který umoţňuje zvolit typ tiskárny, orientaci, velikost a zdroj papíru a
případně další údaje závislé na konkrétním typu tiskárny.
13.23 Orientace
Údaj o nastavené orientaci papíru na výšku nebo na šířku.
ZODOP
19
13.24 Velikost papíru
Údaje o nastaveném formátu papíru jednak v aktuálních jednotkách délky, jednak slovní popis.
13.25 Potištitelná plocha
Zde se objeví potištitelná plocha nastaveného formátu papíru v milimetrech.
13.26 Hustota tisku tiskárny
Aby byl obraz vytištěn ve správných rozměrech, je nutno před vlastním tiskem zjistit hustotu tisku
(rozlišení) aktuální tiskárny v aktuálních jednotkách hustoty neboli počet bodů tisku na jednotku délky.
Pokud údaj nezadáváte v dialogu pro nastavení strany, ale v samostatném dialogu, který se objevil po
spuštění tisku, je jednotkou vţdy počet bodů na palec (dpi). Obvykle tuto informaci poskytuje řadič
tiskárny a tato hodnota se také objeví v editačních okéncích jako implicitní, pokud však skutečná
hustota neodpovídá této hodnotě a obrazy jsou tištěny v jiné velikosti neţ bylo nastaveno, je nutno zde
vyplnit správnou hodnotu. Pokud v takovém případě neznáte správnou hodnotu, je moţné ji zjistit
pokusem.
Vyberte obraz, který nemá bílé okraje, nastavte vhodnou velikost a vytiskněte ho s implicitní hustotou
tiskárny 300 dpi. Pokud se nevejde na papír, sniţujte hustotu tak dlouho, aţ se vejde. Poměr nastavené
a skutečné velikosti obrazu pak představuje číslo, kterým musíte vynásobit zadanou hustotu abyste
dostali správnou hodnotu. Hustota vodorovně a svisle bývá stejná, ve vyjímečných případech se však
můţe lišit, proto je zde moţnost nastavit 2 různé hodnoty.
13.27 Zrušit nastavení
Zruší všechny nastavené údaje o tisku obrazu, uvolní paměť pro ně přidělenou a zruší dialog o
nastavení strany. Při případném tisku se pouţijí implicitní hodnoty, tzn. hustota 72 dpi, pokud by se
obraz nevešel na stránku, pak maximální taková, aby se vešel a aby byl zachován poměr stran a poloha
uprostřed stránky.
13.28 OK
Zrušit dialog o nastavení strany, přičemţ nastavené údaje budou uloţeny.
13.29 Zrušit
Zrušit dialog o nastavení strany, přičemţ ţádné změny nebudou provedeny.
13.30 Nápověda
Zobrazí se nápověda dialogu.
14. Tisk
Napřed se objeví dialog, kde je moţno zvolit některé parametry tisku. V případě, ţe při nastavení strany
nebylo povoleno dělení obrazu do stran, je moţno zvolit tisk celého obrazu nebo jenom vybrané oblasti,
pokud bylo povoleno dělení obrazu, je moţno zvolit tisk celého dokumentu nebo jen vybraného rozsahu
stran. V obou případech je moţno zvolit kvalitu tisku, počet kopií a potvrdit nebo nepotvrdit seřazení
kopií. Pokud nepotvrdíte seřazení kopií, pošlou se údaje o kaţdé stránce pouze jednou a vytiskne se
příslušný počet kopií, takţe kopie nejsou seřazené, ale ušetří se čas potřebný k přenášení údajů, pokud
potvrdíte seřazení kopií, vytiskne se celý dokument a znovu se příslušněkrát pošlou všechny údaje,
takţe kopie budou seřazené, ale čas k přenosu údajů do tiskárny bude delší. Tiskárny, které si
nepamatují podobu celé stránky, neumoţňují tisk více kopií na jeden přenos dat a proto tlačítko Seřadit
kopie je zašeděné a nelze zrušit potvrzení.
20
ZODOP
Nastavení tisku odsud je sice moţné, ale příliš se nedoporučuje, protoţe nastavení strany bude potom
přepočteno podle nastavení tisku a uţ není moţnost ho zkontrolovat. Obvyklý postup je nastavení tisku,
nastavení strany a tisk pomocí tohoto dialogu.
Pokud se nepodaří zjistit hustotu tisku tiskárny, můţe se objevit na ní dotaz.
Pokud se nepodaří zavolat tento dialog, můţe se objevit chybový kód (viz).
15. Seznam souborů
Seznam obrazových souborů, se kterými program naposledy manipuloval, přesněji které byly otevřeny
příkazem Otevřít nebo které byly uloţeny příkazem Uloţit jako. Neobjevují se zde poloţky otevíraného
fl-souboru (souboru s příponou „.fl“). Při zvolení některého z těchto souborů se příslušný obraz otevře.
V dialogu nastavení je moţno nastavit počet souborů v tomto seznamu.
16. Editační funkce
V menu Úpravy jsou tyto operace:
16.1 Zpět
Vrátit zpět stav obrazu před poslední operací. Další vyvolání této funkce vrátí stav po poslední operaci.
16.2 Částečně zpět
Po najetí na zdrojový obraz se objeví čtvercový kurzor a po dobu zmáčknutí levého tlačítka myši se do
plochy pod ním kopírují data z obrazu před poslední operací. Je to moţné pouze tehdy, kdyţ poslední
operace pracovala s obrazovými daty, tedy nikoli pouze s vybranou oblastí nebo pouze s paletou.
16.3 Částečně obnovit z disku
Po najetí na zdrojový obraz se objeví čtvercový kurzor a po dobu zmáčknutí levého tlačítka myši se do
plochy pod ním kopírují data z diskového souboru, ze kterého byl původně obraz otevřen. Je to moţné
pouze u formátů, které umoţňují přečíst ze souboru pouze malou část obrazových dat a jejichţ zásuvný
modul tuto funkci zajišťuje. V současné době jsou to tyto formáty:
„.bmp“
formát BMP pro bitmapy ve Windows
„.fit“
formát fits
„.jpg“
formát JPEG
„.pct“
formát MacPict
„.pgm“
formát „Portable Graymap“
„.ppm“
formát „Portable Pixel Map“
„.png“
formát Portable Network Graphics
„.raw“
formát holá data.
„.tif“
formát TIFF
Soubor ve formátu TIFF je moţné částečně obnovit z disku i kdyţ byl přečten zásuvným modulem
Vzorkovaný TIFF, který umoţňuje otevřít pouze výřez obrazu nebo zmenšený obraz. Viz téţ
Formátové zásuvné moduly.
V případě souboru ve formátu holá data lze tuto funkci pouţít pouze v případě, ţe je k dispozici
příslušný siz soubor s údaji o obrazu.
16.4 Vyjmout
Zkopírovat vybranou oblast do schránky a vyplnit vybranou oblast v původním obrazu hodnotou danou
parametry Index nebo Barva pozadí v dialogu Barva pozadí.
16.5 Kopírovat
ZODOP
21
Zkopírovat vybranou oblast do schránky.
16.6 Vloţit
Vloţit schránku do vybrané oblasti. Pokud nesouhlasí rozměry, vloţí se ta část schránky, která se vejde
do části obrázku počínaje levým horním rohem obdélníku opsaného vybrané oblasti. Výsledek má
paletu původního obrazu, nikoli schránky. V případě rozdílného formátu dat ve schránce a v obrazu se
operace neprovede.
16.7 Vloţit do nového
Vytvořit nový obraz a vyplnit ho daty ze schránky.
16.8 Vymazat
Vymazat vybranou oblast a vyplnit ji hodnotou danou parametry Index nebo Barva pozadí v dialogu
Barva pozadí.
16.9 Kopie obrazu
Vytvořit kopii zdrojového obrazu.
17. Nastavení
Tento dialog slouţí pro změnu údajů uloţených v inicializačním souboru. U některých témat je uvedena
sekce a poloţka v inicializačním souboru, kterou lze příslušným ovladačem nastavit.
17.1 Adresář s konvolučními maskami
22
ZODOP
Adresář, ve kterém jsou uloţeny masky pro konvoluční filtraci.
Sekce INSTALL,
poloţka MasksPath.
17.2 Adresář s vyhledávacími tabulkami
Adresář, ve kterém jsou uloţeny některé předdefinované vyhledávací tabulky.
Sekce INSTALL,
poloţka LUTPath.
17.3 Adresář se zásuvnými moduly
Adresář, ve kterém program hledá zásuvné moduly.
Sekce INSTALL,
poloţka PluginPath.
17.4 Soubor s nápovědou
Soubor s nápovědou pouţitý pro volání nápovědy z programu.
Sekce INSTALL,
poloţka HelpDir.
17.5 Textový editor
Textový editor volaný z programu pro umoţnění editace některých souborů.
Sekce EDITOR,
poloţka OneFileEditor.
17.6 Textový editor pro více souborů
Textový editor volaný z programu pro umoţnění editace některých souborů v případech, kdy je třeba
umoţnit editovat více souborů najednou.
Sekce EDITOR,
poloţka MultiFileEditor.
17.7 Výběr adresáře s konvolučními maskami
Výběr adresáře s konvolučními maskami pomocí dialogu o volbě souboru. Je nutno zvolit jeden soubor
s konvoluční maskou z vybraného adresáře jako příklad.
17.8 Výběr adresáře s vyhledávacími tabulkami
Výběr adresáře s vyhledávacími tabulkami pomocí dialogu o volbě souboru. Je nutno zvolit jeden
soubor s vyhledávací tabulkou z vybraného adresáře jako příklad.
17.9 Výběr adresáře se zásuvnými moduly
Výběr adresáře se zásuvnými moduly pomocí dialogu o volbě souboru. Je nutno zvolit jeden soubor se
zásuvným modulem z vybraného adresáře jako příklad.
17.10 Výběr souboru s nápovědou
Výběr souboru s nápovědou pomocí dialogu o volbě souboru.
17.11 Výběr textového editoru
Výběr textového editoru pomocí dialogu o volbě souboru.
17.12 Výběr textového editoru pro více souborů
Výběr textového editoru pro více souborů pomocí dialogu o volbě souboru.
17.13 Obrazový formát TIFF
ZODOP
23
Zde je moţno zvolit, zda při zápisu obrazu do souboru ve formátu TIFF bude obraz zapsán bez
komprese, s kompresí Packbits někdy označovanou jako MacIntosh RLE nebo s kompresí Lempel – Zif
- Welch známou také jako LZW.
Sekce FORMATS,
poloţka TIFF_Compression.
17.14 Obrazový formát JPEG
Zde je moţno zvolit kvalitu zapisovaného obrazu na stupnici 0 aţ 100. V naprosté většině případů je
však vyhovující implicitní hodnota 75. Podrobnější pokyny k nastavení tohoto parametru viz Zásuvný
modul JPEG.
Sekce FORMATS,
poloţka JPEG_Quality.
17.15 Pomalé zobrazení obrazu
Při potíţích se zobrazením obrazu je zde moţné nastavit způsob zobrazení pixel po pixelu. Je pouţit při
splnění všech tří podmínek najednou, tj. kdyţ oba rozměry obrazu překračují zadané meze a je pouţito
měřítko zobrazení větší neţ zadaná mez.
Sekce DISPLAY,
poloţky Width, Hight a Scale.
17.16 Počet souborů v seznamu naposledy pouţitých souborů
Na konci menu soubor se objevuje seznam obrazových souborů, se kterými program naposledy
manipuloval. Při zvolení některého z těchto souborů se příslušný obraz otevře. V dialogu nastavení je
moţno nastavit počet souborů v tomto seznamu. Volba 0 znamená zrušení této funkce.
Sekce RECFILES,
poloţka NumberFiles.
17.17 Dotaz na uloţení souborů na konci
Při potvrzení tohoto tlačítka program při svém uzavírání projde seznam otevřených obrazů. Pro obrazy
s nastavenou vlajkou na dotaz při uzavírání, tj. takových, které uţivatel měnil a od poslední změny je
neuloţil, zobrazí dialog umoţňující uloţit tyto soubory, zrušit konec programu nebo ukončit program
bez uloţení daného obrazu.
Pokud toto tlačítko nebude potvrzeno, program po obdrţení příkazu k ukončení skončí bez uloţení
obrazů.
Sekce BEHAVIOR,
poloţka EndQuerySaveFiles.
17.18 Plovoucí nástroje
Plovoucí nástroje se při otevření objeví na původním místě. Zde je moţno nastavit, zda se poloha
plovoucích nástrojů bude určovat vzhledem k pravému nebo levému kraji hlavního okna, coţ má
význam, pokud byla mezitím změněna šířka hlavního okna.
Sekce FLOAT_TOOL
Poloţka Position
17.19 Vektorový obraz - plocha v pixelech
Na rozdíl od rastrových obrázků, kde měřítko 100% znamená, ţe jeden pixel obrazu se zobrazuje jako
jeden pixel na obrazovce monitoru, není u vektorových obrázků jasné, v jakém měřítku se mají zabrazit.
Pokud zde jsou nastaveny rozměry š x v, bude se vektorový obraz v měřítku 100% zobrazovat tak, aby
měl š x v pixelů na obrazovce. Implicitní plocha je 512 x 512 pixelů. Přesné rozměry vodorovně a
svisle však mohou být změněny, aby poměr stran zůstal zachován.
Sekce VECTOR
Poloţky Width a Hight
17.20 Vektorový obraz – implicitní barvy
24
ZODOP
Toto nastavení se v současné době týká pouze vektorových obrazů ve formátu shp. Soubory v tomto
formátu neobsahují ţádnou informaci o barvách, barvy musí doplnit otvírající program. Zde je moţné
nastavit barvu pozadí (implicitně bílá), barvu obrysů, všech bodových a čárových objektů (implicitně
černá) a barvu výplní plošných objektů (implicitně zelená).
Sekce VECTOR
Poloţky BackgroundColor, BrushColor a PenColor
17.21 OK
Zrušit dialog o změně nastavení, přičemţ provedené změny budou potvrzeny.
17.22 Zrušit
Zrušit dialog o změně nastavení, přičemţ ţádné změny nebudou provedeny.
17.23 Nápověda
Zobrazí se nápověda.
17.24 Zpět
Zrušit provedené změny.
18. Aktuální barva
Volba aktuální barvy. Takto vypadá dialogové okno
18.1 Jas->Index
Vypočte se jas aktuální barvy dané parametry Č, Z a M a pouţije se jako Index aktuální barvy.
18.2 Index->Šedá
Jako aktuální barva se nastaví šedá s úrovní danou parametrem Index.
18.3 Index
Pro obrazy v indexových barvách bude tato hodnota pouţita jako index aktuální barvy.
18.4 Č
Úroveň červené sloţky aktuální barvy pouţité pro barevné obrazy ve 24-bitovém formátu.
18.5 Z
Úroveň zelené sloţky aktuální barvy pouţité pro barevné obrazy ve 24-bitovém formátu.
ZODOP
25
18.6 M
Úroveň modré sloţky aktuální barvy pouţité pro barevné obrazy ve 24-bitovém formátu.
18.7 Aktuální barva
Po zmáčknutí tohoto tlačítka se objeví dialog pro volbu barvy, pomocí kterého lze zvolit aktuální barvu
pouţitou pro barevné obrazy ve 24-bitovém formátu.
18.8 Pixel->pozadí
Při potvrzení tohoto tlačítka a zmáčknutí levé myši je při pohybu myši nad obrazem snímána barva pod
kurzorem. Tato barva se objevuje na tlačítku Barva pozadí. Po uvolnění tlačítka zůstane poslední
sejmutá barva novou aktuální barvou.
18.9 OK
Zavřít dialog o aktuální barvě s potvrzením nové barvy.
18.10 Zrušit
Zavřít dialog o aktuální barvě beze změny této barvy.
18.11 Nápověda
Zobrazí se nápověda dialogu.
18.12 Paleta->Aktuální barva
Po zmáčknutí tohoto tlačítka se objeví dialog obsahující pole tlačítek s paletou označeného obrazu
slouţící k volbě aktuální barvy. Takto vypadá dialogové okno
18.12.1
Pole barevných tlačítek
Pole barevných tlačítek s paletou označeného obrazu. Pokud není označen ţádný obraz, pouţije se
černobílá paleta. Index a barevné sloţky barvy odpovídající tlačítku pod kurzorem se objeví
v editačních okéncích I, Č, Z a M. Po zmáčknutí tlačítka se tyto parametry pouţijí pro nastavení
aktuální barvy. Posuvná lišta pod polem je funkční, pouze pokud je zdrojový obraz 16-bitový, lištou se
pak nastavuje, se kterou 256ticí barev se bude pracovat.
26
18.12.2
ZODOP
P
Pokud je zdrojový obraz 16-bitový, je v tomto poli index první zobrazené barvy a je moţné zde vyplnit
jiný začátek zobrazené části palety. Pokud má zdrojový obraz jinou hloubku, je zde vţdy nula.
18.12.3
I
Index odpovídající tlačítku pod kurzorem. Pro obrazy v indexových barvách bude tato hodnota pouţita
jako index barvy pozadí.
18.12.4
Č
Červená sloţka barvy odpovídající tlačítku pod kurzorem. Pro obrazy ve 24-bitovém formátu bude tato
barva pouţita jako aktuální barva.
18.12.5
Z
Zelená sloţka barvy odpovídající tlačítku pod kurzorem. Pro obrazy ve 24-bitovém formátu bude tato
barva pouţita jako aktuální barva.
18.12.6
M
Modrá sloţka barvy odpovídající tlačítku pod kurzorem. Pro obrazy ve 24-bitovém formátu bude tato
barva pouţita jako aktuální barva.
18.12.7
Zrušit
Zavřít dialog o nastavení aktuální barvy podle palety označeného obrazu beze změny této barvy.
18.12.8
Nápověda
Zobrazí se nápověda dialogu.
18.13 Komentář
Dialog umoţňující zadat nový komentář ke snímku. Komentář zdrojového obrazu se objevuje v pravé
části dolní stavové lišty.
19. Funkce zobrazení
V menu Zobrazit jsou tyto funkce:
19.1 Jedna ku jedné
Zobrazit zdrojový obraz jedna ku jedné, tj. v měřítku 100%.
19.2 Zvětšit
Zobrazit zdrojový obraz ve dvojnásobném měřítku neţ dosud.
19.3 Zmenšit
Zobrazit zdrojový obraz v polovičním měřítku neţ dosud.
19.4 Zvětšit myší
Po kliknutí myší zobrazit zdrojový obraz ve dvojnásobném měřítku neţ dosud.
19.5 Zmenšit myší
Po kliknutí myší zobrazit zdrojový obraz v polovičním měřítku neţ dosud.
ZODOP
27
19.6 Změna měřítka vzhledem k
Při změně měřítka, kdy původní i nový obraz mají posuvné lišty (scroll bars) se zachová jedna z 9
nastavených poloh bodu.
19.7 Lupa
Zobrazit zdrojový obraz ve vybraném měřítku 25%, 50%, 100%, 200%, 400% nebo 800%. Při volbě
jiná je moţné zadat jiné měřítko v procentech v povoleném rozsahu.
19.8 Obnovit
Upraví rozměry obrazového okna tak, aby pokud moţno byly vynechány nevyuţité plochy okna a
naopak zobrazeny případné zakryté části obrazu a poté obraz znovu vykreslí.
19.9 Informace o obrazu
Zobrazí jednoduché dialogové okno s informacemi o zdrojovém obrazu. Po zmáčknutí tlačítka OK
informace zmizí.
Jsou zde tyto informace:
Soubor : Jméno obrazu. Pokud byl obraz otevřen ze souboru nebo do něj uloţen, je shodné se jménem
souboru.
Text : Komentář k obrazu
Šířka a výška : Rozměry obrazu v pixelech.
Barva : ne znamená černobílý obraz s lineární černobílou paletou, ano jiný obraz.
Bitů : Počet bitů na pixel (hloubka).
Obdélník : Souřadnice levého horního rohu a rozměry obdélníku opsaného vybrané oblasti.
Velikost : Počet bajtů obrazových dat bez komprese.
Plocha : Počet pixelů obrazu.
Velikost palety : Počet barev v paletě, pro které je přidělena paměť.
Vybraná plocha : Počet pixelů vybrané oblasti.
Souřadnice : dodatečné souřadnice definované v obrazu.
Kromě údaje o ploše vybrané oblasti se nezjišťuje aktuální stav, ale vyuţívá se informací programu o
obrazu.
Pro vektorové obrazy by některé údaje neměly smysl, zobrazují se místo nich tyto :
Velikot : Velikost souboru v bajtech.
Min x, Min y, Min z, Max x, Max y a Max z : Rozsah souřednic v jednotlivých osách.
Počet objektů : Počet objektů (samostatných bodů, úseček, mnohoúhelníků) v obrazu.
Počet bodů : Počet bodů (samostatných bodů, konců úseček, vrcholů mnohoúhelníků) v obrazu.
Implicitní velikost : Rozměry obrazu v pixelech v měřítku 100%.
U vícevrstvého obrazu je místo údaje o velikosti údaj o počtu vrstev.
19.10 Přehled polohy okna
Jednoduchý dialog, ve kterém je znázorněn zdrojový obraz a rámeček, který se pohybuje během
skrolování a tím znázorňuje aktuální polohu viditelné části obrazu. Najetím myší na náčrtek této plochy
a zmáčknutím levého tlačítka je moţno pouţít tento dialog ke skrolování.
19.11 Plovoucí nástroje
Dialogové okno obsahující tlačítka
poloţky „Plovoucí nástroje“ v menu
V závorce je číslo kapitoly.
s ikonami některých funkcí. Pomocí
je moţné ho buď zrušit nebo obnovit.
28
ZODOP
výběr oblasti (40.3) -
- definovaný výběr oblasti (40.2)
funkce laso (40.6) -
- kouzelná hůlka (40.7)
změna měřítka 2x (19.4) -
- kreslení čar (46)
částečně zpět (16.2) -
- částečně obnovit z disku (16.3)
vloţit text (45) -
- zpět (16.1)
zrušit poslední volbu (19.12) -
19.12 Zrušit poslední volbu
Zrušit funkci zvolenou v okně „Plovoucí nástroje“ a přepnout na zobrazení informace o pixelu.
20. Dvouobrazové operace
Jako dvouobrazové operace se zde označují operace, kdy hodnota pixelu výsledku se určuje z hodnot
pixelů vstupních obrazů ve stejné pozici a neuvaţují se ostatní pixely těchto vstupních obrazů, tedy
aritmetické a logické operace.
Při inicializaci dialogu je jako 1. operand pouţit obraz označený jako zdrojový a jako 2. operand obraz
označený jako druhý. Viz téţ Vstupní obrazy operací. Později je moţno tlačítky „<-Obraz“ učinit ze
zdrojového obrazu podle potřeby nový 1. nebo 2. operand.
Pokud je jeden ze vstupních obrazů v indexových barvách a druhý ve 24-bitovém formátu, rozdělí se
první obraz podle palety na 3 sloţky, které se pouţijí jako argumenty zvolené operace. Výsledek je ve
24-bitovém formátu. Pokud mají oba obrazy stejný formát, má stejný formát i výsledek. Pokud jsou oba
obrazy v indexových barvách, provede se operace s indexy, nikoli s hodnotami z palety.
Pokud mají oba vstupní obrazy různé rozměry, pouţije se vţdy větší rozměr a druhý obraz je doplněn
nulami.
20.1 součet
Hodnota výsledku se určí jako
ZODOP
p
a b
,
c
kde
a je hodnota prvního vstupu, získá se z obrazu označeného jako zdrojový,
b je hodnota druhého vstupu, získá se z obrazu označeného jako výsledný,
c je normalizační konstanta v rozsahu 1 aţ 2, implicitně 1.
20.2 rozdíl
Hodnota výsledku se určí jako
p
a b
,
c
kde
a je hodnota prvního vstupu, získá se z obrazu označeného jako zdrojový,
b je hodnota druhého vstupu, získá se z obrazu označeného jako výsledný,
c je normalizační konstanta v rozsahu 1 aţ 2, implicitně 1.
20.3 součin
Hodnota výsledku se určí jako
p
a b
,
c
kde
a je hodnota prvního vstupu, získá se z obrazu označeného jako zdrojový,
b je hodnota druhého vstupu, získá se z obrazu označeného jako výsledný,
c je normalizační konstanta v rozsahu 1 aţ 255, implicitně 255.
20.4 podíl
Hodnota výsledku se určí jako
p
a c
, pokud b  0 , jinak p  255 ,
b
kde
a je hodnota prvního vstupu, získá se z obrazu označeného jako zdrojový,
b je hodnota druhého vstupu, získá se z obrazu označeného jako výsledný,
c je normalizační konstanta v rozsahu 1 aţ 255, implicitně 1.
20.5 smíchat
Hodnota výsledku se určí jako
p
c  a  (100  c)  b
,
100
kde
a je hodnota prvního vstupu, získá se z obrazu označeného jako zdrojový,
b je hodnota druhého vstupu, získá se z obrazu označeného jako výsledný,
c je normalizační konstanta v rozsahu 0 aţ 100, implicitně 50.
29
30
ZODOP
20.6 AND
Hodnota výsledku se určí jako logický součin bit po bitu hodnot a a b ,
kde
a je hodnota prvního vstupu, získá se z obrazu označeného jako zdrojový,
b je hodnota druhého vstupu, získá se z obrazu označeného jako výsledný.
20.7 OR
Hodnota výsledku se určí jako logický součet bit po bitu hodnot a a b ,
kde
a je hodnota prvního vstupu, získá se z obrazu označeného jako zdrojový,
b je hodnota druhého vstupu, získá se z obrazu označeného jako výsledný.
20.8 XOR
Hodnota výsledku se určí jako výhradní logický součet bit po bitu hodnot
a a b,
kde
a je hodnota prvního vstupu, získá se z obrazu označeného jako zdrojový,
b je hodnota druhého vstupu, získá se z obrazu označeného jako výsledný.
20.9 min
Hodnota výsledku se určí jako minimum hodnot a a b ,
kde
a je hodnota prvního vstupu, získá se z obrazu označeného jako zdrojový,
b je hodnota druhého vstupu, získá se z obrazu označeného jako výsledný.
20.10 max
Hodnota výsledku se určí jako maximum hodnot a a b ,
kde
a je hodnota prvního vstupu, získá se z obrazu označeného jako zdrojový,
b je hodnota druhého vstupu, získá se z obrazu označeného jako výsledný.
20.11 Znaménko
Při potvrzení tohoto kontrolního tlačítka se budou hodnoty pixelu uvaţovat jako čísla se znaménkem
v kódu posunutá nula v rozsahu -128, 127. Jinak se uvaţují jako čísla bez znaménka v rozsahu 0, 255.
20.12 Modulo
Při potvrzení tohoto kontrolního tlačítka se budou hodnoty výsledku při přetečení uvaţovat jako
modulo maximální hodnota+1, tedy nebudou se uvaţovat významnější bity.
Jinak se hodnoty větší neţ maximální hodnota nahradí maximální hodnotou a hodnoty menší neţ
minimální hodnota se nahradí minimální hodnotou.
20.13 OK
Provést zvolenou operaci.
20.14 Zrušit
Ukončit dialog o dvouobrazových operacích.
20.15 Nápověda
ZODOP
31
Zobrazí se nápověda.
20.16 Normalizační konstanta
Editační okénko, kde je moţné zadat normalizační konstantu pouţívanou aritmetickými operacemi.
21. Histogram
Dialog zobrazující histogram obrazu označeného jako zdrojový a umoţňující některé jeho úpravy.
Je určen pro úpravu především černobílých snímků. S jistou opatrností ho lze pouţít i pro úpravu
barevných snímků s plynulou paletou, ale paletu barevných snímků je lépe upravovat v dialogu Úprava
palety. Černobílá paleta obsahující pouze různé odstíny šedi bude dále nazývána škála.
Je moţné téţ upravovat barevné snímky ve 24-bitovém RGB módu, ale změny se objeví v obrazu
teprve po provedení operace Provést.
Histogram se počítá pouze na vybrané oblasti. Takto vypadá dialogové okno:
21.1 Počet
Počet pixelů úrovně, na kterou ukazuje myš.
21.2 Úroveň
Úroveň obrazu, na kterou ukazuje myš.
21.3 Suma
Podíl pixelů v procentech s úrovní menší nebo rovnou úrovni obrazu, na kterou ukazuje myš.
21.4 Histogram a paleta
32
ZODOP
Rámeček s nakresleným histogramem a paletou. Při pohybu myší nad tímto rámečkem se v editačních
okéncích Počet a úroveň objevuje souřadnice a hodnota histogramu. Kliknutím levou nebo pravou myší
se nastavují parametry Dolní práh a Horní práh. Při velkém vodorovném zvětšení je moţné posuvnou
lištou pod obrázkem nastavit část palety a rozsahu úrovní, se kterými se bude pracovat.
21.5 Dolní práh vlevo
Parametr Dolní práh se posune na levý kraj (úroveň černé).
21.6 Dolní práh o 1 doleva
Parametr Dolní práh se posune o 1 úroveň doleva.
21.7 Dolní práh o 1 doprava
Parametr Dolní práh se posune o 1 úroveň doprava.
21.8 Dolní a horní práh o 1 k sobě
Parametr Dolní práh se posune o 1 úroveň doprava a parametr Horní práh o 1 úroveň doleva.
21.9 Dolní a horní práh k sobě
Parametry Dolní a Horní práh se posunou o půl cesty k sobě tak, ţe horní práh je o 1 úroveň vyšší neţ
dolní práh.
21.10 Dolní a horní práh o 1 od sebe
Parametr Dolní práh se posune o 1 úroveň doleva a parametr Horní práh o 1 úroveň doprava.
21.11 Horní práh o 1 doleva
Parametr Horní práh se posune o 1 úroveň doleva.
21.12 Horní práh o 1 doprava
Parametr Horní práh se posune o 1 úroveň doprava.
21.13 Horní práh doprava
Parametr Horní práh se posune na pravý kraj (úroveň bílé).
21.14 L
Parametr Dolní práh.
21.15 H
Parametr Horní práh.
21.16 Lineární
Lineární škála.
21.17 Lineární s 2 prahy
ZODOP
33
Škála aţ do úrovně dané parametrem Dolní práh na úrovni černé, poté lineární aţ do úrovně dané
parametrem Horní práh a odtud aţ do konce na úrovni bílé.
21.18 Vícenásobně
lineární
Periodická lineární škála, délka a posunutí periody dané vzdáleností a posunutím úrovní daných
parametry Dolní práh a Horní práh.
21.19 Optimální
Škála optimalizující histogram snímku. Za optimální se povaţuje histogram co nejrovnoměrnější, kdy
stupnice šedi je nejlépe vyuţita. V případě barevných obrázků v módu RGB se volí typ
optimalizovaného histogramu pomocí komboboxu RGB. Optimalizace histogramu je zde totéţ co
ekvalizace. Nová hodnota pixelu p se určuje jako
p
u  s 1
1

h(i)  h( s)


A  i 0
2

kde
h(i ) je hodnota histogramu pro úroveň šedi i
s je stará hodnota pixelu,
u je maximální hodnota pixelu (zpravidla 255, pro 16-bitové snímky 65535),
A je počet pixelů obrazu.
Stará hodnota se tedy nahradí hodnotou kumulativního histogramu upravenou tak, aby hodnota
konstantního obrazu byla polovina maximální, tedy 128.
V případě, ţe zvolíme parametry Horní práh a Dolní práh odlišné od implicitních, počítá se výsledek
jako váţený průměr obrazu s optimalizovaným histogramem s vahou (Horní práh – Dolní práh)/u a
původního obrazu s vahou 1-(Horní práh – Dolní práh)/u.
21.20 Prahovací s 2 prahy
V obrázku se objeví pouze 2 tóny, tón úrovně bílé pro hodnoty pixelů mezi prahy danými parametry
Dolní práh a Horní práh (větší nebo rovné dolní a menší neţ horní) a tón úrovně černé pro hodnoty
pixelů mimo prahy.
21.21 Prahovací
V obrázku se objeví pouze 2 tóny, tón úrovně bílé pro hodnoty pixelů větší nebo rovné prahu danému
parametrem Dolní práh a tón úrovně černé pro hodnoty pixelů menší neţ Dolní práh.
21.22 Exponenciální
Exponenciální škála v rozmezí hodnot daných parametry Dolní práh a Horní práh.
34
ZODOP
21.23 Logaritmická
Logaritmická škála v rozmezí hodnot
daných parametry Dolní práh a Horní práh.
21.24 Uţivatelská
Škála daná uţivatelem kreslenou funkcí. Funkci lze kreslit ve dvou reţimech. V prvním z nich
zmáčkneme levé tlačítko myši a během jeho drţení kreslíme, ve druhém zmáčkneme klávesu Shift a
klikneme levou myší ve vybraných bodech funkce. Mezi těmito body je potom funkce doplněna lineární
interpolací.
21.24.1
Rámeček
V tomto rámečku se objevuje uţivatelem kreslená funkce.
21.24.2
I:
Úroveň, na kterou ukazuje myš.
21.24.3
F:
Hodnota funkce v úrovni, na kterou ukazuje myš.
21.24.4
Uloţit
Uloţit uţivatelem nakreslenou funkci do textového souboru. Doporučuje se uţívat soubory s příponou
„.fun“. V případném hlášení o chybě při pokusu otevřít dialog pro zjištění jména souboru se můţe
vyskytnout chybový kód (viz).
21.24.5
Přečíst
ZODOP
35
Přečíst uţivatelem nakreslenou funkci z textového souboru. V případném hlášení o chybě při pokusu
otevřít dialog pro zjištění jména souboru se můţe vyskytnout chybový kód (viz).
21.24.6
Editor
Umoţní editovat hodnoty uţivatelem nakreslené funkce předtím uloţené v souboru. Při pokusu o
spuštění vnějšího procesu s textovým editorem se v případném hlášení o chybě můţe vyskytnout
chybový kód (viz).
21.24.7
Volba sloţky
Pokud se pracuje s barevným obrázkem v módu RGB a je zvolena práce s kaţdou barevnou sloţkou
zvlášť (volba RGB v komboboxu RGB), objeví se zde kombobox, umoţňující volbu sloţky, se kterou
se bude pracovat. Moţnosti jsou R – červená, G – zelená, B – modrá.
21.24.8
OK
Zrušit dialog o uţivatelem kreslené funkci, přičemţ tato funkce bude pouţita.
21.24.9
Zrušit
Zrušit dialog o uţivatelem kreslené funkci, přičemţ tato funkce nebude pouţita.
21.24.10
Nápověda
Zobrazí nápovědu dialogu.
21.25 RGB
Tento kombobox se objevuje jen při práci s barevnými obrázky v RGB módu. Je zde moţno zvolit,
s jakým histogramem se v tom případě bude pracovat. Volí se z následujících moţností:

RGB – Pracuje se s kaţdou ze tří základních barev samostaně. Jsou zobrazeny tři barevné
překrývající se histogramy a kaţdá operace je aplikována na kaţdou barevnou sloţku zvlášť.

R+G+B – pracuje se se součtem histogramů tří barevných sloţek.

Y – pracuje se s jasem. Obraz je převeden do souřadnic YHS, operace je provedena na jasové
sloţce Y a obraz je převeden zpět do RGB.

R – pracuje se pouze s červenou sloţkou.

G – pracuje se pouze se zelenou sloţkou.

B – pracuje se pouze s modrou sloţkou.
21.26 Inverze
Při potvrzení se zvolená škála bude pouţívat inverzně.
21.27 Vyhladit
Histogram se zobrazí vyhlazený. Pouţije se třikrát filtr typu klouzavý průměr 3 hodnot.
21.28 Černá
Úroveň černé bude tato hodnota. Hodnoty škály leţí mezi úrovní černé a úrovní bílé.
21.29 Bílá
Úroveň bílé bude tato hodnota. Hodnoty škály leţí mezi úrovní černé a úrovní bílé.
21.30 Gama
Převodní charakteristika obrazovky monitoru obvykle není lineární, ale přibliţně kvadratická
36
ZODOP
I  k U g ,
I je jas obrazovky, k převodní konstanta, U napětí katody, g koeficient s hodnotou přibliţně 2.
Tento jev se kompenzuje tzv. korekcí gama
U  U v ,
U v je vstupní napětí odpovídající hodnotě pixelu,
s hodnotou 0.5.

je kompenzační koeficient gama, obvykle
Pokud je u daného monitoru tato hodnota jiná, pokud není dobře kompenzována nebo pokud by
uţivatel chtěl zobrazit snímek s jinou hodnotou koeficientu gama, lze pouţít tuto funkci. Hodnota škály
f pro daný index i je dána

s
 i  s
f  255  
 ,
 255 
je stará hodnota koeficientu gama, implicitně 0.5, takţe pro tuto hodnotu je škála lineární. Nová
hodnota koeficientu  musí být větší nebo rovna 0.2 a menší nebo rovna 1.
21.31 Měřítko
Pokud bude v tomto editačním okénku hodnota s, hodnoty histogramu se zobrazí v rozmezí 0 aţ 1024s
pixelů v jednotlivých úrovních. Vodorovná čára mříţky bude vţdy po čtvrtině nejbliţší niţší mocniny
dvou k hodnotě 1024s. Např. pro s=3 bude rozsah histogramu 3072 a čáry budou po 512.
21.32 Měřítko dvakrát zmenšit
Měřítko histogramu se dvakrát zmenší.
21.33 Měřítko dvakrát zvětšit
Měřítko histogramu se dvakrát zvětší.
21.34 Měřítko vodorovně
Počet úrovní, které se zobrazí najednou v rámečku.
21.35 Měřítko vodorovně dvakrát zmenšit
Vodorovné měřítko histogramu se dvakrát zmenší.
21.36 Měřítko vodorovně dvakrát zvětšit
Vodorovné měřítko histogramu se dvakrát zvětší.
21.37 Obnovit
Histogram aktuálního obrazu se znovu spočítá a vykreslí.
21.38 Pozice
Pokud je měřítko vodorvně malé, nevejdou se všechny úrovně do rámečku. Posuvnou lištou v dolní
části rámečku s histogramem je moţno vybrat, které úrovně se budou zobrazovat. V tomto editačním
poli je pak nejniţší zobrazovaná pozice. Je moţné ho vyplnit i z klávesnice.
21.39 Volba sloţky
Tento kombobox se objeví pouze u obrazů ve 24-bitovém RGB módu a umoţňuje zadat, se kterou
sloţkou se bude pracovat. Při volbě RGB (implicitně) se zobrazí součet histogramů sloţek, při volbě Y
se zobrazí histogram jasu, při obou volbách se operace provedou na všech třech sloţkách. Při volbě R,
ZODOP
37
G nebo B se zobrazí histogram pouze červené, zelené nebo modré sloţky a operace se provádějí pouze
na ní. Výsledek operací se objeví teprve po zmáčknutí tlačítka Provést.
21.40 Meze
Barva levého barevného tlačítka vlevo od tohoto editačního okénka se pouţije jako úroveň černé a
barva pravého barevného tlačítka vlevo od tohoto editačního okénka se pouţije jako úroveň bílé.
21.41 Levé barevné tlačítko
Zde definovaná barva je barva svislé čáry definující hodnotu parametru Dolní práh. Pomocí parametru
meze ji lze také pouţít jako barvu úrovně černé.
21.42 Pravé barevné tlačítko
Zde definovaná barva je barva svislé čáry definující hodnotu parametru Horní práh. Pomocí parametru
meze ji lze také pouţít jako barvu úrovně bílé.
21.43 Mříţka
Při potvrzení se pod kresbou histogramu objeví mříţka. Vzdálenost čar vodorovně je 32 úrovní, svisle
viz měřítko.
21.44 Zamknout
Při potvrzení je vzdálenost parametru Dolní práh a Horní práh pevně daná a při změně jednoho
z parametrů se druhý nastaví tak aby byla zachována.
21.45 Soubory
Po zmáčknutí tohoto tlačítka se objeví dialog pro volbu souborů s moţností volby více souborů
najednou a na zvolených souborech se provede předvolená úprava histogramu. Pokud zvolíte před
zmáčknutím tohoto tlačítka tlačítko optimální histogram, počítá se pro kaţdý soubor histogram znovu a
z něj se určuje optimální přepočet histogramu. Zpracování jednoho souboru přibliţně odpovídá činnosti
při zmáčknutí tlačítka provést. Vpravo od tlačítka se v okénku objevuje počet uţ zpracovaných
souborů.
21.46 Editor
Histogram se zapíše do textového souboru „histo.tmp“ a zavolá se textový editor umoţňující editaci
tohoto souboru. Při pokusu o spuštění vnějšího procesu s textovým editorem se v případném hlášení o
chybě můţe vyskytnout chybový kód (viz).
21.47 Šedá
Do zdrojového obrazu se vloţí lineární šedotónová paleta pro černobílé snímky.
21.48 OK
Ukončit dialog o histogramu, přičemţ zvolená škála bude pouţita.
21.49 Provést
Hodnoty v obrázku se změní podle zvolené škály a obrázku bude vrácena původní škála tak, ţe vzhled
obrazu zůstane podle nové škály. Ovšem změny hodnot se provedou pouze ve vybrané oblasti.
21.50 Nápověda
Zobrazí nápovědu dialogu.
21.51 ukončit
38
ZODOP
Ukončit dialog o histogramu, přičemţ zvolená škála nebude pouţita.
21.52 Min.
Minimální hodnota pixelu v obrázku.
  min g (i, j ) ,
i, j
g (i, j ) je hodnota indexu v bodě (i, j ) , hodnoty i, j jdou přes vybranou oblast.
21.53 Max.
Maximální hodnota pixelu v obrázku.
  max g (i, j ) ,
i, j
g (i, j ) je hodnota indexu v bodě (i, j ) , hodnoty i, j jdou přes vybranou oblast.
21.54 Střed. h.
Střední hodnota pixelů v obrázku.
1
1 255
g
(
i
,
j
)


 i h(i) ,
A i, j
A i 0
g (i, j ) je hodnota indexu v bodě (i, j ) , hodnoty i, j jdou přes vybranou oblast, A je její plocha,
h(i ) je histogram.

21.55 Standard. o.
Odhad standardní odchylky pixelů v obrázku od střední hodnoty

1
( g (i, j )  ) 2 

A  1 i, j
.
1 255
(i  ) 2 h(i) ,

A  1 i 0
g (i, j ) je hodnota indexu v bodě (i, j ) , hodnoty i, j jdou přes vybranou oblast, A je její plocha,
h(i) je histogram.
21.56 Median
Median hodnot pixelů v obrázku.
x y
,
2
x


A 
x  max  x : 1    max  x :  h(i ) 
 i , j:g (i , j ) x 2 
 i 0
x


A 
y  max  x : 1    max  x :  h(i ) 
 i , j:g (i , j ) x 2 
 i 0
g (i, j ) je hodnota indexu v bodě (i, j ) , hodnoty i, j
h(i) je histogram.

A
,
2
A
,
2
jdou přes vybranou oblast,
A je její plocha,
21.57 Opt. práh
Optimální práh vypočtený Otsuovou metodou (N. Otsu (1979). "A threshold selection method from
gray-level histograms". IEEE Trans. Sys., Man., Cyber. 9: 62–66.). Tento práh t je úroveň jasu, při
které nastává maximum výrazu
ZODOP
39
 b2 (t )  1 (t )2 (t )(1 (t )   2 (t )) 2 ,
kde 1 (t ) je procento podprahových pixelů,  2 (t ) je procento nadprahových pixelů, 1 (t )
střední hodnota podprahových pixelů a  2 (t ) je střední hodnota nadprahových pixelů.
je
22. Úprava palety
Dialog zajišťující úpravy palety, tedy barevné vyhledávací tabulky. Většina operací má smysl pouze pro
obrazy v indexových barvách. Jediná operace, která se provede i na obrazu ve 24-bitovém formátu je
převod na černobílý (tlačítko Jas). Takto vypadá dialogové okno:
22.1 pole tlačítek barev
Toto pole tlačítek obsahuje pro kaţdý index jedno tlačítko mající barvu odpovídající příslušnému
indexu. Klikneme-li na něj levou myší, objeví se dialog pro volbu barvy umoţňující zadání nové barvy
pro příslušný index. V editačních okéncích I, Č, Z a M se objevuje index odpovídající tlačítku a obsah
červené, zelené a modré v příslušné barvě.
22.1.1
Pozice
Pokud je zdrojový obraz 16-bitový, je v tomto poli index první zobrazené barvy a je moţné zde vyplnit
jiný začátek zobrazené části palety. Pokud má zdrojový obraz jinou hloubku, je zde vţdy nula.
22.2 I
Index barvy odpovídající tlačítku barvy na něţ ukazuje myš.
22.3 Č
Obsah červené v barvě odpovídající tlačítku barvy na něţ ukazuje myš.
22.4 Z
40
ZODOP
Obsah zelené v barvě odpovídající tlačítku barvy na něţ ukazuje myš.
22.5 M
Obsah modré v barvě odpovídající tlačítku barvy na něţ ukazuje myš.
22.6 Šedá
Objeví se paleta pro černobílé snímky. Délka implicitně odpovídá hloubce obrazu, ale je moţné
v políčcích Počátek a Délka nastavit kratší.
22.7 Masky
Objeví se paleta pro obrázek, kde různé bity indexu určují jednu ze tří základních barev. Délka
implicitně odpovídá hloubce obrazu, ale je moţné v políčcích Počátek a Délka nastavit kratší, nevhodně
stanovený počátek však můţe porušit maskovací charakter palety. Ze zadané délky se nejprve spočte
nejbliţší niţší mocnina dvou a její exponent se vydělí třemi. Tím dostaneme počet bitů na jednu barvu.
Pokud je zbytek po dělení jedna, je přebytečný bit pouţit pro zelenou barvu, pokud je zbytek dva, jsou
přebytečné bity pouţity pro zelenou a červenou barvu. Pokud délka není mocnina dvou, je zbytek
palety vyplněn stupnicí šedi. Pro 8-bitové obrázky s délkou palety 256 tak vznikne paleta, kde 3
nejvýznamnější bity indexu jsou 3 nejvýznamnější bity červené sloţky, 3 prostřední bity indexu jsou 3
nejvýznamnější bity zelené sloţky a 2 nejméně významné bity indexu jsou 2 nejvýznamnější bity modré
sloţky, tzv. paleta 3-3-2. Podobně pro 16-bitové obrázky s délkou palety 65536 vznikne paleta 5-6-5.
22.8 Stejné masky
Objeví se paleta podobná paletě Masky, s tím rozdílem, ţe pro kódování všech tří základních barev je
pouţit stejný počet bitů, takţe pro 8-bitové obrázky s dělkou palety 256 vznikne paleta 2-2-2 a pro 16bitové obrázky s délkou palety 65536 vznikne paleta 5-5-5.
22.9 Systémová
Objeví se paleta s rovnoměrně rozdělenými černobílými a barevnými tóny. Délka implicitně odpovídá
hloubce obrazu, ale je moţné v políčcích Počátek a Délka nastavit kratší. Ze zadané délky se nejprve
spočte třetí odmocnina a zaokrouhlí se dolu. To je maximální počet úrovní jedné ze tří základních
barev. Začátek palety je vyplněn stupnicí šedi. Pro 8-bitové obrázky s dělkou palety 256 tak vznikne
paleta s rovnoměrně rozdělenými 40 černobílými a 216 barevnými tóny (6 úrovní na barvu), pro 16bitové obrázky s délkou palety 65536 vznikne paleta s rovnoměrně rozdělenými 1536 černobílými a
64000 barevnými tóny (40 úrovní na barvu).
22.10 Spektrální
Objeví se paleta přiřazující snímku pseudobarvy podle spektra (několika málo indexům téţ černou a
barvy blízké černé). Paleta má pevnou délku 256 barev.
22.11 Teplotní
Objeví se paleta vhodná pro infračervené snímky. Tato paleta se čte ze souboru „thermo.lut“ v adresáři
uvedeném v inicializačním souboru. Paleta má pevnou délku 256 barev.
22.12 Tónová
Objeví se paleta se 16 tóny v různých jasech a sytostech. Tato paleta se čte ze souboru „hue.lut“
v adresáři uvedeném v inicializačním souboru. Pokud rozdělíte barevný obraz na YHS (viz kap. 25,
Rozdělit na YHS) a přiřadíte komponentě H tuto paletu, získáte obraz, kde kaţdá barva byla změněna
na barvu se stejným tónem jako původní, ale s maximálním jasem a sytostí. Paleta má pevnou délku 256
barev.
22.13 Pastelová
ZODOP
41
Objeví se paleta s pastelovými barvami. Tato paleta se čte ze souboru „pastel.lut“ v adresáři uvedeném
v inicializačním souboru. Paleta má pevnou délku 256 barev.
22.14 Země
Objeví se paleta vhodná pro snímky Země. Tato paleta se čte ze souboru „earth.lut“ v adresáři
uvedeném v inicializačním souboru. Paleta má pevnou délku 256 barev.
22.15 Náhodná
Objeví se náhodná paleta. Červené, zelené a modré sloţky barev se vyplní nezávislými realizacemi
náhodné (pseudonáhodné) proměnné s rovnoměrným rozdělením od 0 do 255. Vyplní se jimi část
palety od indexu Počátek v délce Délka.
22.16 Kopírovat
Část palety počínaje indexem Počátek v délce dané parametrem Délka je zkopírována do úseku
počínaje parametrem Délka části / Cíl.
22.17 Přesunout
Část palety počínaje indexem Počátek v délce dané parametrem Délka je přesunuta do úseku počínaje
parametrem Délka části / Cíl. Barvy v původním úseku jsou nahrazeny černou.
22.18 Zaměnit
Část palety počínaje indexem Počátek v délce dané parametrem Délka je vzájemně zaměněna za část
palety počínaje indexem Délka části / Cíl.
22.19 Rozšíření
Paleta je rozšířena tak, ţe počet barev daný parametrem Délka části / Cíl je roztaţen na počet daný
parametrem Délka. Vzniklé mezery jsou doplněny lineární interpolací. Rozšiřování začíná indexem
Počátek. Pokud tedy příslušným tlačítkem vytvoříte nějakou paletu s pevnou délkou 256 barev a
zachováte implicitní hodnoty pro 16-bitový obrázek Počátek=0, Délka=65536 a Délka části / Cíl=256,
vznikne po zmáčknutí tlačítka Rozšíření verze palety pro 16-bitový obrázek.
22.20 Opakování
Paleta je rozdělena na části, které jsou vyplněny barvou na začátku části. Části na sebe plynule
navazují, první začíná indexem Počátek, délku jedné části udává parametr Délka části / Cíl a délku
celého zpracovávaného úseku udává parametr Délka.
22.21 Interpolace
Paleta je rozdělena na části, které jsou vyplněny barvami získanými lineární interpolací mezi barvou na
začátku části a barvou na začátku následující části. Pokud úsek přesahuje paletu, uvaţuje se jako
poslední interpolační barva poslední barva palety. Části na sebe plynule navazují, první začíná indexem
Počátek, délku jedné části udává parametr Délka části / Cíl a délku celého zpracovávaného úseku udává
parametr Délka.
22.22 Počátek
Index na začátku úseku operace s paletou.
22.23 Délka
Délka úseku operace s paletou.
22.24 Délka části / Cíl
42
ZODOP
Délka části úseku operace s paletou. Při přesunovacích operacích (Kopírovat, Přesunout a Zaměnit)
index na začátku cílového úseku operace.
22.25 počet úrovní
Sníţení počtu úrovní na zvolenou hodnotu. Radiotlačítko pracuje stejně jako tlačítko Opakování při
zadání parametrů Počátek = 0, Délka = 256 a Délka části / Cíl = 256/Zvolený počet úrovní. Tyto
parametry jsou také tímto radiotlačítkem nastavovány.
Chcete-li zkoušet podobu obrázku při různém počtu úrovní, doporučuje se před kaţdým dalším
zmáčknutím radiotlačítka s počtem úrovní zmáčknout tlačítko Zpět, protoţe jinak by nebylo moţné
počet úrovní zvýšit na původní hodnotu.
22.26 Přečíst
Čtení palety ze souboru. V současné době jsou podporovány 2 formáty souborů s paletou s těmito
příponami:
„.lut“
binární paleta
„.pal“
textová paleta.
Binární paleta je uloţena binárně, vţdy 3 po sobě jdoucí bajty udávají hodnoty červené, zelené a modré
sloţky příslušné barvy, takţe paleta délky 256 zabírá 768 bajtů.
V textové paletě po hlavičce následuje délka palety hexadecimálně a dekadicky a na dalších řádcích
hodnoty červené, zelené a modré sloţky příslušné barvy uloţené znakově (ASCII). Hodnoty v tomto
souboru je moţné podle potřeby editovat.
Je také moţné přečíst paletu z obrazu ve formátu, který paletu obsahuje. V současné době jsou
k dispozici formáty s těmito příponami:
„.tif“
formát TIFF
„.bmp“
formát BMP pro bitmapy ve Windows
„.gif“
formát GIF
Viz téţ Formátové zásuvné moduly.
V případném hlášení o chybě při pokusu otevřít dialog pro zjištění jména souboru se můţe vyskytnout
chybový kód (viz).
22.27 Uloţit
Zápis palety do souboru. Jsou podporovány stejné formáty palety jako při čtení, tedy v současné době 2
formáty s těmito příponami:
„.lut“
binární paleta
„.pal“
textová paleta.
V případném hlášení o chybě při pokusu otevřít dialog pro zjištění jména souboru se můţe vyskytnout
chybový kód (viz).
22.28 Zpět
Vrátí zpět paletu, která byla před poslední operací.
22.29 Seřadit
Seřadí část palety od indexu Počátek v délce Délka podle kritérií uvedených v kombinovaných
editačních okéncích pod tlačítkem. Pokud jsou dvě barvy stejné podle prvního kritéria, pouţije se
druhé, pokud jsou stejné i podle druhého, pouţije se třetí.
Paletu lze seřadit podle jasu Y, tónu H, sytosti S, obsahu červené R, zelené G nebo modré B. Hodnoty
R, G a B jsou uloţeny v paletě, výpočet jasu, tónu a sytosti viz kap. Rozdělit na YHS (25).
22.30 Seřadit 1)
První kritérium, podle kterého se řadí barvy při zmáčknutí tlačítka Seřadit.
ZODOP
43
22.31 Seřadit 2)
Druhé kritérium, podle kterého se řadí barvy při zmáčknutí tlačítka Seřadit.
22.32 Seřadit 3)
Třetí kritérium, podle kterého se řadí barvy při zmáčknutí tlačítka Seřadit.
22.33 Invertovat
Obrátit pořadí barev v části palety od indexu Počátek v délce Délka.
22.34 Uţít novou
Na začátku dialogu se uloţí paleta zdrojového obrázku. Při volbě této funkce se pro kaţdý index najde
v nové paletě index barvy, která je nejbliţší příslušné barvě v původní paletě. Vyhodnocuje se v RGB
prostoru podle Euklidovské vzdálenosti. Poté se ve vybrané oblasti zdrojového obrazu vymění indexy
za nově nalezené. Výsledkem je obraz s novou paletou, ale s barvami co nejpodobnějšími původním.
22.35 Uţít starou
Na začátku dialogu se uloţí paleta zdrojového obrázku. Při volbě této funkce se pro kaţdý index najde
v původní paletě index barvy, která je nejbliţší příslušné barvě v nové paletě. Vyhodnocuje se v RGB
prostoru podle Euklidovské vzdálenosti. Poté se ve vybrané oblasti zdrojového obrazu vymění indexy
za nově nalezené. Výsledkem je obraz se starou paletou, ale s barvami co nejpodobnějšími barvám,
které měl obraz v nové paletě.
22.36 Jas
Pro kaţdý index se najde jas
Y barvy
Y  0.299R  0.587G  0.114B,
vytvoří se černobílá paleta a ve vybrané oblasti zdrojového obrazu se vymění indexy za nalezené
hodnoty jasu. Výsledkem je černobílý obraz odpovídající jasu původního.
22.37 Soubory
Pod tlačítky Uţít novou a Jas jsou tlačítka Soubory. Po zmáčknutí tohoto tlačítka se objeví dialog pro
volbu souborů s moţností volby více souborů najednou a na zvolených souborech se provede operace
podle tlačítka nad nimi, tedy buď Uţít novou nebo Jas. Mezi tlačítky se v okénku objevuje počet uţ
zpracovaných souborů.
22.38 OK
Zrušit dialog o úpravě palety, přičemţ nová paleta zůstane zachována.
22.39 Zrušit
Zrušit dialog o úpravě palety, přičemţ obrazu se vrátí původní paleta.
22.40 Nápověda
Zobrazí nápovědu dialogu.
23. Spojit
Dialog spojí 3 černobílé obrazy v 8-bitovém formátu do jednoho ve 24-bitovém RGB formátu.
Z případných obrazů v indexových barvách uvaţuje pouze indexy. Rozměry výsledku určí jako
44
ZODOP
minimum rozměrů vstupů. Na začátku dialog prohledá otevřené obrazy a vyplní se prvními třemi
černobílými 8-bitovými obrazy se stejnými rozměry jako vybraný, které nalezne. Pokud takové nejsou,
vyplní se prvními třemi nalezenými obrazy, pokud nejsou ani ty, zůstane nevyplněn. Vstupní obrazy je
moţno potom zadat dodatečně pomocí tlačítek <-Obraz. Je moţno zvolit, zda vstupní obrazy jsou
povaţovány za sloţky RGB nebo YHS. Takto vypadá dialogové okno:
23.1 Č
Jméno obrazu, který bude pouţit jako červený vstupní kanál. V případě volby YHS je zde jasový
vstupní kanál. Vyplňuje se pomocí tlačítka <-Obraz vpravo za editačním okénkem.
23.2 Z
Jméno obrazu, který bude pouţit jako zelený vstupní kanál. V případě volby YHS je zde vstupní kanál
tónu. Vyplňuje se pomocí tlačítka <-Obraz vpravo za editačním okénkem.
23.3 M
Jméno obrazu, který bude pouţit jako modrý vstupní kanál. V případě volby YHS je zde vstupní kanál
sytosti. Vyplňuje se pomocí tlačítka <-Obraz vpravo za editačním okénkem.
23.4 A
Pokud bude toto políčko vyplněno jménem obrazu, vytvoří se obraz s hloubkou 32 bitů. Tento obraz
pak bude pouţit jako čtvrtý pomocný vstupní kanál, který se nepouţívá při zobrazení obrazu. Vyplňuje
se pomocí tlačítka <-Obraz vpravo za editačním okénkem. Implicitně zůstává políčko prázdné a vytvoří
se obraz s hloubkou 24 bitů.
23.5 Č<-obraz
Vybraný obraz se pouţije jako červený vstupní kanál (jas).
23.6 Z<-obraz
Vybraný obraz se pouţije jako zelený vstupní kanál (tón).
23.7 M<-obraz
Vybraný obraz se pouţije jako modrý vstupní kanál (sytost).
23.8 A<-obraz
Vybraný obraz se pouţije jako čtvrtý pomocný vstupní kanál.
23.9 RGB
Při potvrzení tohoto radiotlačítka jsou vstupní obrazy povaţovány za sloţky červená (R), zelená (G) a
modrá (B) výsledku.
ZODOP
45
23.10 YHS
Při potvrzení tohoto radiotlačítka jsou vstupní obrazy povaţovány za sloţky jas (Y), tón (H) a sytost (S)
výsledku. Tyto sloţky jsou napřed následujícím způsobem přepočteny do RGB a poté spojeny.
Pokud je Y=0, je výsledkem černá (R=G=B=0), pokud je Y=255, je výsledkem bílá (R=G=B=255).
V ostatních případech se pokračuje výpočtem směrnice v prostoru modré a červené rozdílové sloţky
k
(0.587  0114
. ) tan(h)  (0.587  0114
. ) 3
(2  0.587  0.299) tan(h)  0.299) 3
, kde
h  2
H
,
255
koeficientu pro přepočet modré na zelenou
gk  
0114
.
 0.299 k
0.587
a poměrného koeficientu jasu
yk 
Y
.
Y  255
Sestaví se vektor

p  1 y k

gk
k
gk yk
k
1
k
yk 
k 
a vektor převrácených hodnot
1
, i  1, 2, ..., 6,
pi
v případě, ţe k  0 , k   nebo g k  0 je nutno určit vektory jinak
pi 
p  0 0 g k g k y k 1 y k 

1
1
1
p   0 0
1

gk gk yk
yk 

k  : g k  0.299 / 0.587
p  1 y k g k g k y k 0 0


1
1
1
.
p   1
0 0 .
 yk gk gk yk

1 yk 

g k  0:
p  1 y k 0 0
k k 


1
k 
p   1
0 0 k

yk 
 yk
Pro další výpočet se pouţije buď maximum ze záporných prvků vektoru p  nebo minimum z kladných
prvků vektoru p  . Rozhoduje se podle hodnoty tónu vzhledem k hranici
k  0: g k  0114
.
/ 0.587
.
 0.587  0114

h1  arctan
3
 0.587  0114

.
m
max
i 1, 2,..., 6
pi; pi  0h1  h  h1  
min
i 1, 2,..., 6
Výsledné řešení pak je
pi; pi  0
h  h1
.
h  h1  
R  Y (1  s p1m), G  Y (1  s p3 m), B  Y (1  s p5 m) , kde s je sytost
přepočtená do intervalu <0,1>:
46
ZODOP
s
S
.
255
Při potvrzení tohoto radiotlačítka jsou vstupní obrazy povaţovány za sloţky jas (Y), tón (H) a sytost (S)
výsledku. Tyto sloţky jsou napřed následujícím způsobem přepočteny do RGB a poté spojeny.
23.11 32 -> 24
Převede 32-bitový obraz na 24-bitový. Není tedy nutno rozkládat obraz na RGB, mazat čtvrtý kanál a
znovu je spojovat. Dialog se poté zruší.
23.12 24 -> 32
Převede 24-bitový obraz na 32-bitový. Není tedy nutno rozkládat obraz na RGB, vytvářet čtvrtý kanál a
znovu je spojovat, nicméně toto je nutné, pokud čtvrtý kanál nemá být prázdný. Dialog se poté zruší.
ZODOP
47
23.13 OK
Provést spojení obrazů a zrušit dialog o něm.
23.14 Zrušit
Zrušit dialog o spojení obrazů.
23.15 Nápověda
Zobrazí se nápověda dialogu.
24. Rozdělit na RGB
Rozdělí barevný obraz na 3 černobílé obrazy v 8-bitovém formátu vyjadřující jednotlivé barevné sloţky
červenou, zelenou a modrou neboli RGB. Pokud je vstupní obraz v indexových barvách, obsahují
výsledné obrazy hodnoty z palety odpovídající příslušnému indexu. Pokud byl vstupní obraz 32-bitový,
objeví se ještě čtvrtý obraz s pomocným kanálem.
25. Rozdělit na YHS
Rozdělí barevný obraz na 3 černobílé obrazy v 8-bitovém formátu vyjadřující jednotlivé barevné sloţky
v souřadnicích YHS, neboli jas, tón a sytost. Pokud je vstupní obraz v indexových barvách, obsahují
výsledné obrazy hodnoty z palety odpovídající příslušnému indexu. Pokud byl vstupní obraz 32-bitový,
objeví se ještě čtvrtý obraz s pomocným kanálem.
Ve zvolených souřadnicích je sytost volena tak, aby se pro kaţdý tón pohybovala v celém intervalu
<0,255> , coţ je výhodné pro práci s ní, nevýhodou je poměrně obtíţný přepočet zpět do RGB.
Sloţky jas Y, tón H a sytost S se získají ze sloţek červené R, zelené G a modré B následovně:
Jas:
Y  0.299 R  0587
. G  0114
. B,
Tón:
u  2R  G  B
v  (G  B) 3
 v
h  arctan    u  0
 u
 v
h  arctan 
u0
 u
h je potom přepočteno do intervalu  0, 2  , tzn. pokud je záporné, připočte se 2 . V případě
u  0 je pro v  0 h  0 jinak h   . Jako výsledek se pouţije hodnota
H
255
h
2
Sytost:
Y  R R  Y Y  G G  Y Y  B B  Y 
S  255 max
,
,
,
,
,
,
255  Y
Y
255  Y
Y
255  Y 
 Y
pokud je Y=0 nebo Y=255, je sytost nulová.
48
ZODOP
V případě potřeby je moţné dodat program s jinými koeficienty jasu červené, zelené a modré
(standardně 0.299, 0.587 a 0.114). Součet koeficientů jasu by však pro korektnost výpočtu měl být
roven jedné.
26. RGB->Index
Dialog převede obraz ve 24-bitovém RGB formátu na 8-bitový obraz v indexových barvách.
26.1 Systémová paleta
Pouţije se paleta s pravidelně rozmístěnými černobílými a barevnými odstíny, umoţňující rychlý
převod. Při implicitním počtu 256 barev paleta obsahuje 40 černobílých a 216 barevných odstínů.
26.2 Adaptivní
Vytvoří se paleta obsahující nejčastější barvy ve vstupním snímku. Je moţné zvolit další parametry
převodu: Počet výsledných barev, Počet rozlišovaných úrovní vstupů a Dithering. Pokud je ve vstupním
obrazu vybraná oblast, uvaţují se pouze barvy vyskytující se v této oblasti. Údaj o počtu barev
nalezených v obrazu, který se objevuje dole v dialogu, se vztahuje k nastavenému počtu úrovní vstupu.
26.3 barev
Počet barev ve výsledné paletě. Implicitně 256. Pokud je v obrazu nalezeno méně barev, obsahuje
paleta pouze barvy nalezené v obrazu. Pokud je zadáno více barev neţ 256, vytvoří se 16-bitový obraz.
26.4 úrovní vstupů
Počet rozlišovaných úrovní jednotlivých sloţek vstupního obrazu. Implicitně 64, coţ je hodnota, při
které se v naprosté většině obrazů nalezne dostatek barev a zároveň je moţno pouţít rychlejší
algoritmus převodu. Pokud je při této hodnotě nalezeno málo barev, je moţné se pokusit nastavením
vyšší hodnoty (128 nebo 256) nalézt v obrazu více barev.
26.5 Dithering
Při počtu úrovní vstupů menším nebo rovném 64 je moţno povolit dithering, tzn. pokud nelze určitý
pixel převést dostatečně přesně, změní se okolní pixely tak, ţe výsledný obraz při pohledu z dálky
vypadá přesněji převedený.
26.6 Zákaznická
Při převodu se pouţije paleta nahraná ze zvoleného souboru. Je moţné pouţít soubor s binární paletou
s příponou „.lut“ nebo s textově uloţenou paletou s příponou „.pal“. Jméno souboru se objeví
v editačním okénku vpravo. Počet barev, do kterých se převádí, závisí na délce palety v souboru.
ZODOP
49
26.7 Soubory
Po zmáčknutí tohoto tlačítka se objeví dialog pro volbu souborů s moţností volby více souborů
najednou a obrazy ve zvolených souborech se převedou do indexových barev podle parametrů
zvolených v dialogu. Protoţe se ukládá ve stejném formátu ze kterého se četlo, musí pouţitý formát
souborů umoţnit uloţení jak vstupních obrazů v RGB, tak výstupních v indexových barvách. Počet
formátů je tím značně limitován. Mezi tlačítky se v okénku objevuje počet uţ zpracovaných souborů.
26.8 OK
Provést převod obrazu a zrušit dialog o něm.
26.9 Zrušit
Zrušit dialog o převodu obrazu.
26.10 Nápověda
Zobrazí se nápověda dialogu.
27. Index-> RGB
Převede obraz v indexových barvách na obraz ve 24-bitovém RGB formátu.
28. Soubory Index-> RGB
Objeví se dialog pro volbu souborů a zvolené soubory se převedou z indexových barev do 24-bitového
RGB formátu.
29. Zabalit / Rozbalit
Změna počtu bitů na pixel. Nelze pouţít pro větší počet bitů na pixel neţ 16.
29.1 Počet bitů na pixel
Ţádaný počet bitů na pixel můţe být 1, 2, 4, 8 nebo 16.
29.2 Určit nejvyšší pouţitý bit
Nejvyšší pouţitý bit v obrazu s větším počtem bitů na pixel (bez ohledu na to, zda je vstupní nebo
výstupní). Pokud se počet bitů na pixel zmenšuje, je vhodné ho určit tlačítkem Určit nejvyšší pouţitý
bit. Můţe být v rozsahu 0 aţ 15.
50
ZODOP
29.3 Určit nejvyšší pouţitý bit
Tímto tlačítkem lze určit, který nejvyšší bit je ve vstupním obrazu skutečně pouţit. Pokud potom
tlačítkem OK převedete obraz na niţší počet bitů na pixel, odříznou se pouze méně významné bity a
přitom daný rozsah hodnot bude vyuţit optimálně.
29.4 Soubory
Po zmáčknutí tohoto tlačítka se objeví dialog pro volbu souborů s moţností volby více souborů
najednou a obrazy ve zvolených souborech se převedou na jiný počet bitů na pixel podle parametrů
zvolených v dialogu. Mezi tlačítky se v okénku objevuje počet uţ zpracovaných souborů.
29.5 OK
Provést nastavenou změnu počtu bitů na pixel.
29.6 Zavřít
Zrušit dialog o změně počtu bitů na pixel.
29.7 Nápověda
Zobrazí se tato nápověda.
30. Profil
Tento dialog vykresluje profily a jejich gradienty (tj. diference profilů) do obrazového okna.
Vykreslí se informace z horního krajního řádku a levého krajního sloupce vybraného obdélníku (viz
výběr obdélníku).
30.1 Jas (gradient)
Pokud je potvrzeno kontrolní tlačítko Jas nebo Jas a Gradient současně, tak po zmáčknutí tlačítka
Provést se objeví toto editační okénko se souřadnicí a jasem pixelu pod kurzorem ovládaným myší.
Pokud je potvrzeno pouze kontrolní tlačítko Gradient, objeví se v editačním okénku souřadnice a
gradient pixelu. V obou případech musí být potvrzeno právě jedno z tlačítek Horizontální a Vertikální.
30.2 Jas
Bude se vykreslovat jas dané řádky či sloupce. Jas
I:
I (i)  0.299R(i)  0.587G(i)  0.114B(i) ,
kde
i je souřadnice.
30.3 Gradient
Bude se vykreslovat gradient dané řádky či sloupce. Gradient G :
ZODOP
51
G(i )  I (i )  I (i  1) ,
kde
I je jas, i je souřadnice.
30.4 Horizontální
Bude se vykreslovat horizontální profil, tj. profil řádky. Svislý rozměr obrazového okna bude změněn
na 300 pixelů klientské plochy.
30.5 Vertikální
Bude se vykreslovat vertikální profil, tj. profil sloupce. Vodorovný rozměr obrazového okna bude
změněn na 300 pixelů klientské plochy.
30.6 Provést
Vykreslit vyznačené funkce.
30.7 Uzavřít
Uzavřít dialog o kreslení profilů.
30.8 Editor
Vyznačené funkce budou zapsány do textového souboru „profil.tmp“ a bude zavolán textový editor
umoţňující jejich prohlíţení, editaci nebo vyuţití v jiných programech. V souboru jsou po hlavičce
údaje zapisovány v pořadí souřadnice, jas a gradient. Při pokusu o spuštění vnějšího procesu s textovým
editorem se v případném hlášení o chybě můţe vyskytnout chybový kód.
30.9 Nápověda
Zobrazí nápovědu dialogu.
31. Konvoluční filtrace
Dialogové okno pro zadání parametrů konvoluční filtrace se vyvolá volbou Konvoluční filtrace
v poloţce menu Nástroje - Filtry.
52
ZODOP
Skládá se z následujících ovládacích prvků:
31.1 Načíst uţivatelský
Načte se uţivatelský filtr s diskového souboru a stane se aktivním filtrem
31.2 Seznam s předdefinovanými filtry
Obsahuje filtry dodávané s programem.
31.3 Maska
Číslo masky
m , která se zobrazí v levé části dialogu
31.4 Okraje
Způsob chování na okrajích. Jsou k dispozici tyto moţnosti:
g(i , j ) o rozměrech c  r pro i  0 je g(0, j ) , pro i  c je
g(c  1, j ) , pro j  0 je g(i ,0) , pro j  r je g(i , r  1)
Opakovat okraje - hodnota obrazu
Periodické -
g(i , j )  g(i mod c, j mod r )
Zrcadlové -
g(i , j )  g( (i  c) mod(2c)  c  0.5  05
. , ( j  r ) mod(2r )  r  05
.  0.5)
Nulami -
g(i , j )  0 pro i  0 , i  c , j  0 , nebo j  r .
Úplný výsledek - okraje nulové, ale výsledek je zvětšen na rozměry
obsahuje všechny pixely dotčené konvolucí. (s je rozměr masky)
Nedotčený vnitřek - výsledek je zmenšen na rozměry
pixely nedotčené okrajovým jevem.
c  s  1  r  s  1 , takţe
c  s  1  r  s  1 , takţe obsahuje pouze
31.5 Typ filtru t
Způsob, jakým se vypočte výsledná hodnota pro daný obrazový element z dílčích výsledků filtrování
jednotlivými maskami. Můţe být následující:
1 “MAXIMUM ABS. VALUE”, max
m
hm (i , j )
2 “SQUARE ROOT OF SQUARE SUM”,
 hm2 (i , j )
m
3 “SUM ABSOLUTE VALUE”,
 hm (i , j )
m
4 “MAXIMUM MASK OUTPUT”, max hm (i , j )
m
5 “MAXIMUM MASK OUTPUT TO 0”, max{ max hm (i,
j ),0}
m
6 “MAX(|MSK1|,|MSK2|)-|MSK3|”, max{max{ h1 (i ,
7 “PRODUCT OF MASKS TO 0”,
 max{hm (i , j),0}
m
8 “MSK1/(NORM OF MASKS)”, h1 (i ,
j ) /  f 1 (i , j )
i, j
9 “PIXEL - NORM OUTPUT”, g (i ,
j )  h1 (i , j ) /  f 1 (i , j )
i, j
10 “MSK1/NORM + ABS”; h1 (i ,
31.6 Přesnost výpočtu
j ) , h2 (i , j )}  h3 (i , j ) ,0}
j) / n  a
ZODOP
53
Volbou byte, či float se určuje přesnost, ve které se provádějí výpočty. Byte značí, ţe hodnota pro
kaţdý obrazový element se převádí do přesnosti byte bezprostředně po jejím výpočtu a to tak, ţe
hodnoty menší neţ nula se nahradí nulou a hodnoty větší neţ 255 se nahradí touto hodnotou. Float
značí, ţe převod v do rozsahu 0 - 255 se provede aţ po dokončení výpočtu na celém obraze a to takto
255(v  min) / (max min) ,
min a max značí minimální a maximální hodnotu v . Při min=max se postupuje jako při Byte.
31.7 Rozměr
Rozměr pouţité masky s .
31.8 Abs
Absolutní člen pouţité masky
a (Formát souboru masky)
31.9 Norm
Normalizační konstanta pouţité masky
n (Formát souboru masky)
31.10 Provést
Provede se filtrace s pouţitím zvolené masky. Konvoluce snímku
podle vzorce
hm (i, j ) 
kde d  ( s  1) / 2,
přesnosti výpočtu.
h
g s m -tou maskou f m se provede
h
 f m (k , l ) g (i  k , j  l ) ,
k d l d
h  s / 2, s je velikost masky. Výsledná hodnota se určí podle typu filtru a
31.11 Ukončit
Uzavře se dialog.
31.12 Editor
Vyvolá se editor (notepad) s textovým formátem pouţité masky. Při pokusu o spuštění vnějšího procesu
s textovým editorem se v případném hlášení o chybě můţe vyskytnout chybový kód.
31.13 Nápověda
Objeví se nápověda dialogu.
31.14 Soubory
Po zmáčknutí tohoto tlačítka se objeví dialog pro volbu souborů s moţností volby více souborů
najednou a na obrazech ve zvolených souborech se provede konvoluční filtrace podle parametrů
zvolených v dialogu. Nad tlačítkem se v okénku objevuje počet uţ zpracovaných souborů.
31.15 Formát souboru masky
1. řádek: jméno filtru, max. 30 znaků
2. řádek: s p t, kde s značí velikost masky s x s, p je počet masek a t je typ filtru
3. řádek, pouze pokud t=10: n a, kde n je hodnota, kterou se dělí výsledek, a je hodnota, která se
přičítá k výsledku. Pro jiné hodnoty t je tento řádek vynechán.
Na dalších řádcích jsou celočíselné hodnoty jednotlivých prvků masek.
31.16 Pole koeficientů
54
ZODOP
Zde se zobrazí koeficienty ze střední části masky. Případná editace zde má platnost pouze do nejbliţší
změny filtru nebo masky.
31.17 Seznam filtrů
Zde je seznam předdefinovaných filtrů, před názvem filtru je jeho číslo:
31.17.1
Filtry typu první derivace
Skupina filtrů typu první derivace. Při pouţití pro detekci hran tyto filtry detekují hrany pouze v jednom
směru kolmém ke směru filtru a to náběţnou hranu kladnými čísly, tedy směrem k bílé, zatímco
sestupnou hranu zápornými čísly, tedy směrem k černé. Podélné hrany nedetekují. Přesný tvar masek
3x3 byl odvozen ze Sobelova gradientu (typ 1) a z Prewittova kompasového gradientu (typ 2). Další
verze byly odvozeny z Prewittova gradientu.
1 Derivative north 1
4 Derivative north east 2
7 Derivative south east 1
10 Derivative south 2
13 Derivative west 1
16 Derivative north west 2
2 Derivative north 2
5 Derivative east 1
8 Derivative south east 2
11Derivative south west 1
14 Derivative west 2
3 Derivative north east 1
6 Derivative east 2
9 Derivative south 1
12Derivative south west 2
15 Derivative north west 1
33 Derivative horizontal 1
36 Derivative vertical 2
34 Derivative horizontal 2
86 First differential
35 Derivative vertical 1
31.17.2
Detektory hran typu kombinace masek první derivace
Skupina sloţitějších filtrů typu první derivace, které kombinují výsledky více masek a jsou schopny
detekovat hrany ve všech směrech. Ke kombinaci masek se pouţívá buď odmocnina ze součtu kvadrátů,
součet absolutních hodnot nebo maximum, drobné rozdíly jsou v chování v přítomnosti šumu. Masky
větší neţ 3x3 obsahují i prvek průměrování, jsou proto odolnější vůči šumu.
41 3-level maxabs 3 x 3
44 3-level maxabs 9 x 9
42 3-level maxabs 5 x 5
45 5-level maxabs 3 x 3
46 Prewitt mean-sq 3 x 3
48 Prewitt mean-sq 5 x 5
50 Prewitt mean-sq 7 x 7
52 Prewitt mean-sq 9 x 9
47 Prewitt sumabs 3 x 3
49 Prewitt sumabs 5 x 5
51 Prewitt sumabs 7 x 7
53 Prewitt sumabs 9 x 9
43 3-level maxabs 7 x 7
54 Roberts mean-square 55 Roberts sumabs
56 Sobel mean-square
57 Sobel sumabs
58 Compass max
59 Kirsch max
60 Pyramid maxabs 5 x 5 61 Pyramid maxabs 7 x 7 62 Pyramid maxabs 9 x 9
63 Mean-square
31.17.3
70 Eberlain maxabs-sub-floor
Filtry typu druhá derivace
Skupina filtrů typu druhá derivace. Při pouţití pro detekci hran je výhodou, ţe vystačí s jedinou maskou
pro detekci hran ve všech směrech. Ovšem v místě detekované hrany se objeví typická dvojice tmavé a
světlé (černé a bílé) čáry, proto se někdy detekce dokončuje operací Průchod nulou (kapitola Chyba!
Nenalezen zdroj odkazů.). Některé z nich lze pouţít i pro detekci čar a bodů.
17 Laplacian 1
20 Laplacian 4
67 Laplacian 7
18 Laplacian 2
64 Laplacian 5
71 Extended Laplacian
19 Laplacian 3
66 Laplacian 6
72 Two channel Laplacian – product
37 Vertical line detection 38 Horizontal line detection
39 1st diagonal detection 40 2nd diagonal detection
ZODOP
55
79 Normalizer 4 x 4
80 Normalizer 5 x 5
81 f-delsq(f)
82 Fyy simple
68 Kasvand - Laplacian ident
31.17.4
69 Kasvand line enhancement max-floor
Zaostření – součet obrazu s Laplaciánem
Skupina filtrů pokoušejících se zlepšit ostrost obrazu přičtením Laplaciánu, tzn. zdůrazněním vyšších
frekvencí. Bohuţel se při tom také zesiluje šum.
21 Enhancement (small) 22 Enhancement (normal) 23 Enhancement (strong)
24 Enhancement (max) 25 Enhancement type 1 26 Enhancement type 2
27 Enhancement type 3 28 Enhancement type 4
31.17.5
Vyhlazení průměrováním
Skupina filtrů pokoušejících se potlačit šum vyhlazením pomocí průměrování, tedy různé typy
klouzavých průměrů. Bohuţel se přitom také rozmazávají hrany.
29 Smoothing 1
32 Smoothing 4
74 Smoothing 5 x 5 a
78 Smoothing 6 x 6
31.17.6
30 Smoothing 2
73 Smoothing 4 x 4 a
76 Smoothing 5 x 5 b
31 Smoothing 3
75 Smoothing 4 x 4 b
77 Smoothing 2 x 2
Šablona objektu
84 Template of object
31.17.7
Marrovy filtry – kombinace druhé derivace a průměrování
Filtry (autoři Marr a Hildrith) určené pro detekci hran. Byly vytvořeny vzorkováním Laplaciánu rotační
Gaussovy 2-D hustoty (jde tedy o filtry typu druhá derivace kombinované s průměrováním) s různou
standardní odchylkou. Ta je uvedena v názvu filtru. Filtry s větší standardní odchylkou detekují pouze
významnější hrany. Hrana je tam, kde výsledek filtrace prochází nulou, proto je vhodné detekci hran
dokončit operací Průchod nulou (viz kapitola Chyba! Nenalezen zdroj odkazů..), tím se získá binární
výsledek typu hrana ano-ne.
87 Marr 1/sqrt2, 5 x 5
88 Marr 1, 7 x 7
89 Marr sqrt2, 9 x 9
90 Marr 2, 11 x 11
91 Marr 2sqrt(2), 23 x 23 92 Marr 4, 31 x 31
93 Marr 4sqrt(2), 41 x 41 94 Marr 8, 53 x 53
95 Marr 8sqrt(2), 69 x 69
Seznam masek filtrů lze nalézt v dodatku B.
32. Pořádkové filtry
Do funkce pořádkové filtry se přejde z menu nástroje výběrem poloţky menu pořádkové filtry. Objeví
se dialogové okno které je uvedeno na následujícím obrázku.
56
ZODOP
32.1 Okolí čtvercové
Tvar pouţitého okolí bude čtvercový.
32.2 Okolí kruhové
Tvar pouţitého okolí bude přibliţně kruhový.
32.3 Velikost okolí
Zadávání velikosti okolí v rozsahu 1 aţ polovina rozměru obrazu. Velikost je buď délka strany čtverce
u čtvercového okolí nebo průměr kruhu u kruhového okolí. V případě sudé velikosti je okolí umístěno
okolo pixelu nesymetricky.
32.4 Provést
Spustí se nastavená filtrace na aktivní obraz.
32.5 Ukončit
Uzavře se dialogové okno Pořádkové filtry.
32.6 Nápověda
Objeví se nápověda dialogu.
32.7 Minimum
Navolí se filtrace typu minimum. Hodnota obrazového elementu se nahradí minimální hodnotou na
zvoleném okolí.
32.8 Maximum
Navolí se filtrace typu maximum. Hodnota obrazového elementu se nahradí maximální hodnotou na
zvoleném okolí.
32.9 Medián
Navolí se filtrace typu medián. Hodnota obrazového elementu se nahradí mediánem na zvoleném okolí.
V případě sudého počtu obrazových elementů v okolí je poţita větší ze dvou prostředních hodnot.
32.10 Min-Max Major
Navolí se filtrace typu Min-Max. Hodnota obrazového elementu se nahradí hodnotou rozdílu maxima a
minima na zvoleném okolí
ZODOP
57
pixel  max min
32.11 Min < val < Max
Navolí se filtrace typu Min-Max. Hodnota obrazového elementu se nahradí výrazem:
pixel  min
pro
pixel  min  pixel  max
pixel  max
pro
pixel  min  pixel  max
32.12 Šum
Navolí se filtrace typu šum. Hodnota obrazového elementu se nahradí výrazem:
kde
val
pixel  pixel
pro
pixel  median  val
pixel  median
pro
pixel  median  val
je číselná hodnota zadaná v editačním okénku.
32.13 Horní
Navolí se filtrace typu hornofrekvenční. Hodnota obrazového elementu se nahradí výrazem:
kde
pixel  pixel
pro
pixel  median  val
pixel  median
pro
pixel  median  val
val je číselná hodnota zadaná v editačním okénku.
32.14 Soubory
Po zmáčknutí tohoto tlačítka se objeví dialog pro volbu souborů s moţností volby více souborů
najednou a na obrazech ve zvolených souborech se provede pořádková filtrace podle parametrů
zvolených v dialogu. Vedle tlačítka se v okénku objevuje počet uţ zpracovaných souborů.
33. Lokální ekvalizace histogramu
Druh filtrace, kdy se nová hodnota pixelu určuje na základě vyhodnocení histogramu v okolí pixelu.
58
ZODOP
33.1 Okolí kruhové
Pouţije se přibliţně kruhové okolí.
33.2 Okolí čtvercové
Pouţije se čtvercové okolí.
33.3 Poloměr
Poloměr pouţitého okolí r . V případě čtvercového okolí je pak délka strany
minimálně 1 a maximálně [( w  1) / 2] , kde
mimo tyto meze se objeví hlášení o chybě.
2 r  1 . r můţe být
w je vodorovný rozměr obrazu. Při zadání hodnoty
33.4 Optimalizace histogramu 1
Optimalizace histogramu je zde totéţ co ekvalizace, protoţe za optimální se povaţuje histogram co
nejrovnoměrnější. Nová hodnota pixelu p se zde určuje jako
p

u s 1
s
  h(i )  h( s) 
A i  0
u

kde
h(i ) je hodnota histogramu okolí pixelu pro hodnotu i
s je stará hodnota pixelu,
u je maximální hodnota pixelu (255),
A je počet pixelů okolí.
Stará hodnota se tedy nahradí hodnotou kumulativního histogramu upravenou tak, aby hodnota
konstantního obrazu zůstala zachována.
Tento typ filtrace se hodí pro zvýraznění detailů snímku, ovšem v plochách s přibliţně konstantním
jasem zesiluje šum.
33.5 Optimalizace histogramu 2
Optimalizace histogramu je zde totéţ co ekvalizace, protoţe za optimální se povaţuje histogram co
nejrovnoměrnější. Nová hodnota pixelu p se zde určuje jako
p
u  s 1
1

h(i)  h( s)


A  i 0
2

kde
h(i ) je hodnota histogramu okolí pixelu pro hodnotu i
s je stará hodnota pixelu,
u je maximální hodnota pixelu (255),
A je počet pixelů okolí.
Stará hodnota se tedy nahradí hodnotou kumulativního histogramu upravenou tak, aby hodnota
konstantního obrazu byla polovina maximální, tedy 128.
Tento typ filtrace se hodí pro zvýraznění detailů snímku, ovšem v plochách s přibliţně konstantním
jasem zesiluje šum.
ZODOP
59
33.6 Optimalizace histogramu 3
Optimalizace histogramu je zde totéţ co ekvalizace, protoţe za optimální se povaţuje histogram co
nejrovnoměrnější. Nová hodnota pixelu p se zde určuje jako
u s 1
p   h(i )
A i 0
kde
h(i ) je hodnota histogramu okolí pixelu pro hodnotu i
s je stará hodnota pixelu,
u je maximální hodnota pixelu (255),
A je počet pixelů okolí.
Stará hodnota se tedy nahradí hodnotou kumulativního histogramu upravenou tak, aby hodnota
konstantního obrazu byla nahrazena nulou.
Tento typ filtrace se hodí pro zvýraznění detailů snímku, ovšem v plochách s přibliţně konstantním
jasem zesiluje šum.
33.7 Vyrovnání střední hodnoty
Zjednodušený typ filtrace, kdy se lokální histogram neroztahuje, ale pouze posouvá. Nová hodnota
pixelu p se zde určuje jako
p  s
1 A
 s(i )  u / 2
A i 1
kde
s(i ) je hodnota i - tého pixelu okolí
s je stará hodnota pixelu,
u je maximální hodnota pixelu (255),
A je počet pixelů okolí.
Ke staré hodnotě se tedy přičte takové číslo, aby střední hodnota okolí byla uprostřed rozsahu hodnot
pixelu.
Tento typ filtrace se hodí jako příprava před prahováním snímku s nerovnoměrným jasem pozadí.
33.8 Provést
Provést zvolenou filtraci.
33.9 Ukončit
Ukončit dialog o ekvalizaci histogramu.
33.10 Nápověda
Zobrazí se nápověda.
33.11 Soubory
Po zmáčknutí tohoto tlačítka se objeví dialog pro volbu souborů s moţností volby více souborů
najednou a na obrazech ve zvolených souborech se provede lokální ekvalizace histogramu podle
parametrů zvolených v dialogu. Vedle tlačítka se v okénku objevuje počet uţ zpracovaných souborů.
60
ZODOP
34. Fourierova transformace
Dialogové okno zajišťuje několik funkcí týkajících se Fourierovy transformace. Při filtraci pomocí
spektra je nejprve nutno vstupní obraz převést do plovoucí čárky, provést přímou Fourierovu
transformaci, vytvořit vhodný filtr a vynásobit s ním vytvořené spektrum (filtrace s typem filtrace *).
Výsledek je uloţen do stejného souboru jako spektrum, proto chcete-li filtrovat tentýţ obraz vícekrát, je
vhodné uschovat spektrum před filtrací do jiného souboru (např. pomocí tlačítek spektrum <-> filtr a
filtrace s typem filtrace =). Po filtraci je nutno provést zpětnou Fourierovu transformaci a převod do
pevné čárky. Implicitně jsou soubory se spektrem potom smazány, protoţe Fourierova transformace
(přímá
i
zpětná)
ukládá
výsledek
do
stejných
souborů
jako
byl
vstup.
Pro vlastní výpočet transformace je pouţit software z Massachussets Institute of Technology, autoři
Matteo Frigo a Steven G. Johnson. Zde je dialogové okno:
34.1 převod i->f
Převod vstupních dat z formátu jednobajtového celého čísla bez znaménka na formát osmibajtového
komplexního čísla v plovoucí čárce.
34.2 přímá FFT
Výpočet přímé Fourierovy transformace. Výsledek odpovídá vzorci
1
M 1 N 1
 k m ln 
 2 i 
 
M N 
  a mn e
MN m0 n 0
k  0,, M  1; l  0,, N  1,
Ak l 
kde
ZODOP
61
i  1,
a jsou vstupní data
A je výsledné spektrum
M , N jsou rozměry vodorovně a svisle zaokrouhlené na nejbliţší vyšší mocniny dvou.
Tedy v prvním pixelu souboru spectrum.sp bude uloţena hodnota odpovídající nulové frekvenci,
v posledním pixelu hodnota odpovídající vzorkovací frekvenci - 1.
Data v plovoucí čárce jsou ve tvaru 4 bajty reálná část následovaná 4 bajty imaginární části. Čísla jsou
ve formátu, který pouţívá překladač jazyka C pro čísla typu float. Pouţívá se algoritmus pro rychlou
Fourierovu transformaci.
34.3 podlouhlé tlačítko vlevo nahoře
Podlouhlé tlačítko vlevo nahoře zajišťuje funkci tlačítek převod i->f a přímá FFT současně.
34.4 spektrum<->filtr
Vzájemně vymění soubor se spektrem a soubor s filtrem.
34.5 doplnění
Způsob doplnění vstupních dat na rozměr nejbliţší vyšší mocniny dvou můţe být
nulami,
zrcadlením (pouţije se implicitně),
periodickým prodlouţením,
střední hodnotou dat,
opakováním krajního řádku a sloupce,
shlazením k nule - podle funkce kosinus,
shlazením ke střední hodnotě - podle funkce kosinus.
Pouţívá se při funkci vytvořit doplněný obrázek.
34.6 vytvořit doplněný obrázek
Rozměry vstupních dat jsou doplněny na rozměr daný parametry rozměry doplněného obrazu, doplněná
data se uloţí do nového obrazu a ten je pouţit pro následující výpočet.
34.7 rozměry doplněného obrázku
Obraz bude doplněn na tyto rozměry. Mohou být v rozmezí od jedné do trojnásobku rozměru
zdrojového obrazu. Nesmějí také přesáhnout maximální povolený rozměr obrazu. Pokud budou
rozměry menší neţ rozměry zdrojového obrazu, bude ze zdrojového obrazu vyříznut střed.
34.8 spektrum
Jméno souborů se spektrem (pokud bude „spektrum“, budou data uloţena v souboru spektrum.sp).
34.9 výběr spektra
Výběr jména existujících souborů se spektrem.
34.10 visualizace
Visualizce spektra (převod z formátu osmibajtového komplexního čísla v plovoucí čárce na formát
jednobajtového celého čísla bez znaménka). Data jsou přerovnána tak, ţe hodnota odpovídající nulové
frekvenci se zobrazí doprostřed výstupního snímku (při sudých rozměrech o půl pixelu vlevo nahoru od
prostředku).
Upozornění: při visualizaci logaritmického spektra po filtraci pásmovým nebo směrovým filtrem či
jejich kombinací obvykle nevyjde spektrum příliš názorně. Je to způsobeno tím, ţe nulové hodnoty
filtru a hodnoty blízké nule velmi zvětší při filtraci dynamický rozsah spektra a to pak nelze rozumně
62
ZODOP
zobrazit. Řešením můţe být omezení zobrazovaného rozsahu na původní úroveň. Postup je tento:
visualisuje se logaritmické spektrum před filtrací, při tom se zobrazí rozsah spektra číselně (jeho
minimum a maximum). Při visualizaci spektra po filtraci je pak třeba tyto původní hodnoty vyplnit
(alespoň přibliţně) do parametrů min a max a zvolit typ hodnot vstupu úrovně vstupu.
34.11 visualizace spektra nebo filtru
Moţno zvolit visualizaci spektra nebo filtru.
34.12 Typ visualizace:
logaritmická - logaritmus amplitudového,
amplitudová,
fázová,
reálné části,
imaginární části.
34.13 min
Číslo, které udává, jaká hodnota vstupu se transformuje na úroveň 0 výstupu.
34.14 max
Hodnota vstupu, která se transformuje na úroveň 255 výstupu.
34.15 Hodnoty vstupu
se uvaţují jako
% - nalezne se minimum a maximum vstupních dat a hodnoty min a max jsou v procentech rozsahu
minimum - maximum, plný rozsah dostaneme, pokud bude min=0 a max=100,
úrovně šedi - nalezne se minimum a maximum vstupních dat a hodnoty min a max jsou v počtu úrovní
šedi rozsahu minimum - maximum, plný rozsah dostaneme, pokud bude min=0 a max=255. Jinak se
bude na úroveň 0 výstupu transformovat hodnota, která by se při plném rozsahu transformovala na
úroveň min, a na úroveň 255 výstupu hodnota, která by se při plném rozsahu transformovala na úroveň
max,
úrovně vstupu - na úroveň 0 výstupu se bude transformovat hodnota vstupu rovnající se parametru min
a na úroveň 255 výstupu hodnota vstupu rovnající se parametru max.
34.16 filtrace
Násobení spektra filtrem. Lze pouţít i ke sčítání a přiřazení.
34.17 podlouhlé tlačítko vlevo uprostřed
Podlouhlé tlačítko vlevo uprostřed zajišťuje funkce tlačítek tvorba filtru a filtrace současně.
34.18 filtr
Jméno souborů s filtrem (pokud bude „filtr“, budou data uloţena v souboru filtr.sp).
34.19 výběr filtru
Výběr jména existujících souborů s filtrem.
34.20 typ filtrace


násobení, spektrum:=spektrum*filtr,
sčítání, spektrum:=spektrum+filtr,
ZODOP
63
= kopírování, spektrum:=filtr.
34.21 tvorba filtru
Generování filtru.
34.22 typ filtru
Můţe se generovat filtr:
ţádný
pásmový
směrový
Gaussův
exponenciální
derivační
import filtru
konstantní
komplementární
násobený -1
násobený sqrt(-1)
převrácená hodnota
kmplexně sdruţený
34.23 pásmový filtr
Vypočte se absolutní hodnota frekvence
f  f v u2  v 2 ,
u, v jsou relativní frekvence vodorovně a svisle v rozmezí od -0.5 do 0.5,
pro f  d  sd bude hodnota filtru g  0 ,
pro d  sd  f  d  sd bude shlazení filtru podle funkce sinus tak, ţe pro f  d bude g  0.5 ,
pro
d  sd  f  h  sh bude g  1 ,
pro
h  sh  f  h  sh bude shlazení filtru podle funkce sinus tak, ţe pro f  h bude g  0.5 ,
pro
f  h  sh bude g  0 .
Zadání je korektní, pokud
d  sd  h  sh .
34.24 parametry pásmového filtru
dolní mez = d (implicitně 0),
ohlazení = sd (ohlazení dolní meze - implicitně 0),
horní mez = h (implicitně 0.25),
ohlazení = sh (ohlazení horní meze - implicitně 0.25),
vzork.frek. = f v (vzorkovací frekvence - implicitně 1).
34.25 směrový filtr
Vypočte se fáze
1
j
  arctan(v / u),
u, v jsou relativní frekvence vodorovně a svisle,
u v rozmezí od -0.5M do 0.5M, v v rozmezí od -0.5N do 0.5N,
64
ZODOP
M,N jsou rozměry snímku,
pro   d  sd bude hodnota filtru
g  0,
pro
d  sd    d  sd bude shlazení filtru podle funkce sinus tak, ţe pro   d bude g  0.5 ,
pro
d  sd    h  sh bude g  1 ,
pro
h  sh    h  sh bude shlazení filtru podle funkce sinus tak, ţe pro   h bude g  0.5 ,
pro
  h  sh
bude
g  0.
h  sh  (d  sd )   / j a pokud d  sd  h  sh .
Zadání je korektní, pokud
34.26 parametry směrového filtru
dolní mez = d (implicitně -45),
ohlazení = sd (ohlazení dolní meze - implicitně 22.5),
horní mez = h (implicitně 45),
ohlazení = sh (ohlazení horní meze - implicitně 22.5),
jednotka = j (jednotka úhlu), můţe být
r=rad=radian=radián,
j 1
p=pi=pí (  radiánů, j   )
d=deg=degree=s=stupen=stupeň=° (
g=grad (
j   / 180 ),
j   / 200 ),
číslo, udávající velikost jednotky úhlu v radiánech.
Lze pouţít i velká písmena. (implicitně °)
34.27 Gaussův filtr
Hodnota filtru
ge
1 f vf 
 

2  
2
.
34.28 parametry Gaussova filtru
stand.odch.=  (standardní odchylka - implicitně 0.25),
vzork.frek.=
v f (vzorkovací frekvence - implicitně 1).
34.29 exponenciální filtr
Hodnota filtru
ge

f vf
s
34.30 parametry exponenciálního filtru
strmost= s (implicitně 0.36)
vzork.frek.= v f (vzorkovací frekvence - implicitně 1).
ZODOP
65
34.31 derivační filtr
Vypočte se absolutní hodnota frekvence
f  f v u2  v 2 ,
u, v jsou frekvence vodorovně a svisle v rozmezí od -0.5 f v do 0.5 f v ,
f v je vzorkovací frekvence, implicitně f v  1. Hodnota filtru
g  ( 2 (cf  i (au  bv))) n
Implicitní hodnoty parametrů jsou a  1 , b  0 , c  0 , n  1 , coţ vede na první derivaci
vodorovně.
34.32 parametry derivačního filtru
1.směr.cos= a (1. směrový kosinus - implicitně 1),
2.směr.cos= b (2. směrový kosinus - implicitně 0),
3.směr.cos= c (3. směrový kosinus - implicitně 0),
stupeň der.= n (stupeň derivace - implicitně 1),
vzork.frek.= v f (vzorkovací frekvence - implicitně 1).
34.33 import filtru
Z označeného obrázku se vytvoří filtr, 0 se konvertuje na hodnotu d , 255 na hodnotu, h , implicitně je
d  0 , h  1 . Filtr je na rozměr nejbliţší vyšší mocniny dvou doplněn hodnotou o (implicitně 0).
34.34 parametry importu filtru
vst.0-> = d (hodnota, na kterou se konvertuje vstupní 0 - implicitně 0),
vst.255-> = h (hodnota, na kterou se konvertuje vstupní 255 - implicitně 1),
okraje= o (hodnota doplněná na okrajích - implicitně 1).
34.35 konstantní filtr
Vytvoří se filtr vyplněný hodnotou v (implicitně 0),
34.36 parametr konstantního filtru
vyplnit= v (hodnota, kterou se filtr vyplní - implicitně 0).
34.37 komplementární filtr
Vytvoří se komplement filtru daného editačním okénkem filtr.
Hodnota filtru g: 1  g .
34.38 filtr násobený -1
Vytvoří se násobek filtru daného editačním okénkem filtr hodnotou -1
g:  g .
34.39 filtr násobený sqrt(-1)
Vytvoří se násobek filtru daného editačním okénkem filtr hodnotou sqrt(-1)
g: 1 g
34.40 převrácená hodnota filtru
66
ZODOP
Vytvoří se převrácená hodnota filtru daného editačním okénkem filtr
g:  1 / g
zaokrouhlená do mezí
m, m . Implicitně je m  9  1018 .
34.41 parametr převrácené hodnoty filtru
meze= m (mezní hodnota filtru). Implicitně je
m  9  1018 .
34.42 komplexně sdruţený filtr
Vytvoří se komplexně sdruţená hodnota filtru daného editačním okénkem filtr
imag ( g ) : imag ( g ) ,
tzn. filtr se záporně vzatou imaginární částí.
34.43 zpětná FFT
Výpočet zpětné Fourierovy transformace. Výsledek odpovídá vzorci
1
M 1 N 1
 k m ln 
2 i 
 
M N 
  a mn e
MN m0 n 0
k  0,, M  1; l  0,, N  1,
Ak l 
kde
i  1,
a je vstupní spektrum
A je výsledný obrázek
M , N jsou rozměry vodorovně a svisle zaokrouhlené na nejbliţší vyšší mocniny dvou.
Pouţívá se algoritmus pro rychlou Fourierovu transformaci.
34.44 převod f->i
Převod výsledku z formátu osmibajtového komplexního čísla v plovoucí čárce do formátu celého čísla
0 - 255 a visualizace výsledku.
34.45 podlouhlé tlačítko vlevo dole
Podlouhlé tlačítko vlevo dole zajišťuje funkci tlačítek převod f->i a zpětná FFT současně.
34.46 po výpočtu smazat soubory v pohyblivé čárce
Při potvrzení budou po převodu f->i smazány soubory se spektrem v pohyblivé řádové čárce.
34.47 výsledek
Typ vizualizovaného výsledného snímku můţe být
logaritmický - logaritmus amplitudového,
amplitudový,
fázový,
reálná část,
imaginární část.
34.48 min
Číslo, které udává, jaká hodnota vstupu se transformuje na úroveň 0 výstupu.
34.49 max
ZODOP
67
Hodnota vstupu, která se transformuje na úroveň 255 výstupu.
34.50 typ hodnot dat
Hodnoty vstupu se uvaţují jako
% - nalezne se minimum a maximum vstupních dat a hodnoty min a max jsou v procentech rozsahu
minimum - maximum, plný rozsah dostaneme, pokud bude min=0 a max=100,
úrovně šedi - nalezne se minimum a maximum vstupních dat a hodnoty min a max jsou v počtu úrovní
šedi rozsahu minimum - maximum, plný rozsah dostaneme, pokud bude min=0 a max=255. Jinak se
bude na úroveň 0 výstupu transformovat hodnota, která by se při plném rozsahu transformovala na
úroveň min, a na úroveň 255 výstupu hodnota, která by se při plném rozsahu transformovala na úroveň
max,
úrovně vstupu - na úroveň 0 výstupu se bude transformovat hodnota vstupu rovnající se parametru min
a na úroveň 255 výstupu hodnota vstupu rovnající se parametru max.
Implicitně se uloţí reálná část v rozsahu 0 - 255, tzn. výsledek reálná část, min=0, max=255 úrovně
vstupu.
34.51 vstupní obrázek
Jméno souboru, ze kterého byl získán obrázek.
34.52 rozměry
Editační okénko udávající rozměry vstupního obrázku. Pokud je provedena funkce zpracovávající
označený zdrojový obrázek, jsou rozměry přečteny z něj, jinak je nutno je vyplnit.
34.53 Údaje o prováděné operaci
Na třetí řádku odspodu se vypisují zprávy o výpočtu. Úplně dole se zobrazuje, kolik procent z činnosti
uvedené ve zprávě je jiţ hotovo.
34.54 Převody dat různých formátů
K dispozici jsou 4 druhy převodů mezi pevnou a plovoucí řádovou čárkou:
visualizace spektra a filtru, při které jsou data přerovnána tak, aby pixel odpovídající nulové frekvenci
byl uprostřed výstupního obrázku (o půl pixelu vpravo dole),
převod i->f, při kterém data nejsou přerovnávána,
převod f->i, opačný převod, při kterém data nejsou přerovnávána,
import filtru, převod opačný k visualizaci, při kterém jsou data přerovnána.
34.55 záznam o spektru
Pokud některá z funkcí vytvoří nový soubor s daty ve formátu s plovoucí čárkou, vytvoří k němu i
soubor stejného jména s příponou „.log“ obsahující funkce a parametry, které měnily data v souboru.
Toto tlačítko ukáţe tento log soubor pro soubor daný editačním okénkem spektrum.
34.56 záznam o filtru
Pokud některá z funkcí vytvoří nový soubor s daty ve formátu s plovoucí čárkou, vytvoří k němu i
soubor stejného jména s příponou .log obsahující funkce a parametry, které měnily data v souboru.
Takto je moţné například zjistit parametry vygenerovaných filtrů. Toto tlačítko ukáţe log soubor pro
soubor daný editačním okénkem filtr.
34.57 nápověda
Zobrazí nápovědu dialogu.
68
ZODOP
34.58 Ukončit
Ukončit dialog o Fourierově transformaci.
34.59 Soubory
Po zmáčknutí tohoto tlačítka se objeví dialog pro volbu souborů s moţností volby více souborů
najednou a na obrazech ve zvolených souborech se provede filtrace předem připraveným filtrem. Pokud
nebude ţadný filtr připravený nebo nebudou souhlasit jeho rozměry, vytvoří se nový podle parametrů
zvolených v dialogu. Vedle tlačítka se v okénku objevuje počet uţ zpracovaných souborů.
35. Měřítko
Změna velikosti (rozlišovací schopnosti) obrazu. Takto vypadá dialogové okno
35.1 Šířka
Poţadovaná šířka obrazu. Uţivatel si můţe zvolit, jakým způsobem se budou volit nové rozměry
obrazu. Volba „pixelů“ znamená, ţe parametr udává rozměr v pixelech. Volba „%“ znamená, ţe
hodnota parametru je v procentech stávajícího rozměru. Volba „Zvětšit/Zmenšit“ znamená, ţe parametr
je ve tvaru zlomku. Např. hodnota „3/7“ znamená změnit rozměr na tři sedminy původního.
35.2 Výška
Poţadovaná výška obrazu. Uţivatel si můţe zvolit, jakým způsobem se budou volit nové rozměry
obrazu. Volba „pixelů“ znamená, ţe parametr udává rozměr v pixelech. Volba „%“ znamená, ţe
hodnota parametru je v procentech stávajícího rozměru. Volba „Zvětšit/Zmenšit“ znamená, ţe parametr
je ve tvaru zlomku. Např. hodnota „3/7“ znamená změnit rozměr na tři sedminy původního.
35.3 Interpolace
Zde lze vybrat typ pouţité interpolace. Při volbě „Nejbliţším sousedem LeadTools“, „Preference černé
LeadTools“, „Bilineární+průměrování LeadTools“ nebo „Bikubická+průměrování LeadTools“ je pouţit
algoritmus z knihovny LeadTools, při volbě „Průměrováním“, „Nejbliţším sousedem“, „Bilineární“
nebo „Bikubická“ je pouţit vlastní algoritmus programu ZODOP. Při volbě interpolace je důleţité si
uvědomit jestli obrázek zvětšujeme nebo zmenšujeme. Při zmenšování je na výběr průměrování, kdy je
vstupní obraz rozdělen na tolik obdélníků, kolik má výstupní obraz pixelů a z kaţdého obdélníku se
pouţije aritmetický průměr hodnot a interpolace nejbliţším sousedem, kdy se z obdélníku pouţije jeden
pixel jako vzorek. Bilineární a bikubická interpolace se při zmenšování chová podobně jako interpolace
nejbliţším sousedem. Algoritmy pouţívající průměrování při zmenšování mají slovo „průměrování“
v označení v komboboxu. Interpolace "Preference černé LeadTools" se chová stejně jako „Nejbliţším
ZODOP
69
sousedem LeadTools“ s výjimkou binárních obrazů s hloubkou 1 pixel, kdy pokud dílčí obdélník
obsahuje černý bod, je výsledek černý, a tím se zachovají tenké černé čáry v obrazu.
Při zvětšování se průměrování chová stejně jako interpolace nejbliţším sousedem, zajímavá je proto
volba jen mezi interpolací nejbliţším sousedem, bilineární a bikubickou. Na přesné vzorce se podívejte
do kapitoly 37.2, zde si můţete prohlédnout tzv. charakteristické funkce jednotlivých interpolací, tj.
odezvy na jednotkový impulz. Můţete si je vyrobit také sami vytvořením malého tmavého obrázku (zde
byl pouţit 5×5) s jedním bílým pixelem uprostřed a jeho velkým zvětšením (zde na 501×501)
s příslušnou interpolací. Následující grafy vznikly jako průřezy těchto odezev:
Interpolace nejbliţším sousedem pouţitá při volbách „Nejbliţším sousedem LeadTools“, „Preference
černé LeadTools“, „Průměrováním“ a „Nejbliţším sousedem“:
Bilineární interpolace pouţité při volbách „Bilineární+průměrování LeadTools“ a „Bilineární“ mají
charakteristické funkce velmi podobné, odchylka je maximálně 0.0174:
70
ZODOP
Bikubická interpolace:
Charakteristická funkce pouţitá při volbě „Bikubická“ je zobrazena plnou modrou čarou,
charakteristická funkce pouţitá při volbě „Bikubická+průměrování LeadTools“ je zobrazena čárkovaně.
ZODOP
71
Liší se vodorovně (zelená) a svisle (červená). Na výsledný obraz se můţeme dívat jako na lineární
kombinací vzájemně posunutých charakteristických funkcí. Na vodorovných osách grafů je vzdálenost
v pixelech, na svislých je vliv pixelu uprostřed grafu na výsledek v dané vzdálenosti.
Rozdíly mezi algoritmy z knihovny LeadTools a ZODOPu jsou poměrně malé, např. při zmenšování
interpolací nejbliţším sousedem se při volbě „Nejbliţším sousedem LeadTools“ bere z kaţdého
vstupního obdélníku levý dolní roh, při volbě „Nejbliţším sousedem“ se bere prostředek. Další drobné
rozdíly jsou pokud součin změny velikosti a původního rozměru obrazu není celé číslo, např.
zmenšujeme sedmkrát (volby 1/7 a „Zvětšit/Zmenšit“), původní rozměry jsou 18×18, 18/7=2.571428,
po zaokrouhlení jsou nové rozměry 3×3. Při volbě „Nejbliţším sousedem“ se bere kaţdý sedmý pixel,
tedy všechny kombinace souřadnic [3, 10, 17] vodorovně i svisle a při volbě „Nejbliţším sousedem
LeadTools“ se pouţijí všechny kombinace souřadnic [0, 6, 12] vodorovně a [5, 11, 17] svisle, tzn. ţe
se vlastně zmenšuje jen šestkrát, protoţe se napřed vypočtou nové rozměry a z nich se teprve počítá
skutečný poměr zmenšení. Podobné to je i při jiných interpolacích. Další rozdíly jsou v rychlosti.
Pokud pracujeme s obrazem v indexových barvách, je třeba dát pozor na to, ţe všechny interpolace
kromě interpolace nejbliţším sousedem pouţívají i jiné hodnoty indexů neţ ty ze vstupního obrazu.
Program tedy při pouţití jiné interpolace neţ nejbliţším sousedem na obraz v indexových barvách
převede obraz do RGB módu, provede příslušnou změnu velikosti obrazu s jinou interpolací neţ
nejbliţším sousedem a převede obraz zpět do indexových barev za pouţití původní palety. Při pouţití
interpolace z LeadTools na 16-ti bitový obraz v indexových barvách se toto neděje automaticky, musíte
proto napřed uloţit paletu do souboru (Nástroje – Bodové operace – Paleta – Uloţit), převést obraz do
RGB módu (Nástroje – Bodové operace – Kanály – Index->RGB), provést příslušnou změnu velikosti
obrazu (Nástroje – Geometrie – Měřítko – OK, interpolce „Bilineární+průměrování LeadTools“ nebo
„Bikubická+průměrování LeadTools“) a převést obraz zpět do indexových barev (Nástroje – Bodové
operace – Kanály – RGB->Index – Zákaznická – OK) za pouţití předem uloţené palety.
35.4 Zachovat poměr stran
Při potvrzení poměr stran obrazu zůstane zachován. Z parametrů šířka a výška se uvaţuje ten, který byl
nastaven. Pokud byly nastaveny oba, uvaţuje se šířka.
35.5 Provést
Provede se zvolená transformace.
35.6 Ukončit
Ukončit dialog o měřítku.
35.7 Nápověda
Zobrazí nápovědu dialogu.
35.8 Soubory
Po zmáčknutí tohoto tlačítka se objeví dialog pro volbu souborů s moţností volby více souborů
najednou a na obrazech ve zvolených souborech se změní velikost obrazů podle parametrů zvolených v
dialogu. Vedle tlačítka se v okénku objevuje počet uţ zpracovaných souborů.
36. Transformace
Jednoduché geometrické transformace obrazu, otočení, zrcadlení a střih. Takto vypadá dialogové okno
72
ZODOP
36.1 Otočení doleva
Otočení obrazu doleva o 90°.
36.2 Otočení doprava
Otočení obrazu doprava o 90°.
36.3 Zrcadlení
Překlopení obrazu podle svislé osy.
36.4 Překlopení
Překlopení obrazu podle vodorovné osy.
36.5 Otočení
Otočení obrazu podle středu o úhel daný parametrem úhel v editačním okénku dole. Úhel je ve
stupních, nemusí být celočíselný, kladná hodnota znamená otočení po směru hodinových ručiček,
záporná proti směru hodinových ručiček. Data jsou doplněna aktuální barvou. Je moţné zvolit pouţitou
interpolaci a způsob, jakým se určí rozměry výsledku.
36.6 Střih vodorovně
Transformace zvaná někdy téţ úhyb. Úhel je daný parametrem úhel střihu vodorovně v editačním
okénku vpravo vedle tohoto radiotlačítka. Úhel je ve stupních, nemusí být celočíselný. Rozměry
výsledku se rovnají rozměrům obdélníka opsaného transformovanému obrazu. Data jsou doplněna
aktuální barvou. Pouţívá se interpolace nejbliţším sousedem.
36.7 Střih svisle
Transformace zvaná někdy téţ úhyb. Úhel daný parametrem úhel střihu svisle v editačním okénku
vpravo vedle tohoto radiotlačítka. Úhel je ve stupních, nemusí být celočíselný. Rozměry výsledku se
rovnají rozměrům obdélníka opsaného otočenému obrazu. Data jsou doplněna aktuální barvou. Pouţívá
se interpolace nejbliţším sousedem.
36.8 Interpolace
Zde lze vybrat typ pouţité interpolace. Můţe být nejbliţším sousedem, bilineární nebo bikubická.
Uplatní se pouze u otáčení o obecný úhel, nikoli uţ u střihu.
36.9 Rozměry
Zde lze vybrat způsob, jakým se určí rozměry výsledku. Lze vybrat ze dvou moţností, rozměry
výsledku se rovnají buď rozměrům obdélníka opsaného otočenému obrazu nebo rozměrům původního
obrazu a okraje jsou oříznuty. Uplatní se pouze u otáčení o obecný úhel, nikoli uţ u střihu.
ZODOP
73
36.10 Provést
Provede se zvolená transformace.
36.11 Ukončit
Ukončit dialog o transformacích.
36.12 Nápověda
Zobrazí nápovědu dialogu.
36.13 Soubory
Po zmáčknutí tohoto tlačítka se objeví dialog pro volbu souborů s moţností volby více souborů
najednou a na obrazech ve zvolených souborech se provede transformace podle parametrů zvolených v
dialogu. Vedle tlačítka se v okénku objevuje počet uţ zpracovaných souborů.
37. Geometrické transformace pomocí vlícovacích bodů
Obecná geometrická transformace obrazu. Vstupní snímek je transformován tak, aby lícoval
s referenčním snímkem. Jako vstupní je pouţit snímek označený jako zdrojový a jako referenční snímek
označený jako druhý. Jako vstupní a referenční snímek můţe být pouţit stejný obrázek.
Při transformaci obrazu v indexových barvách existují jistá omezení. Je vhodné volit interpolaci
nejbliţším sousedem, při spojování vstupních a referenčních dat (tlačítko Spojit vst. s ref.) je nutno
předem zajistit, aby referenční obraz měl stejnou paletu jako vstupní, a nelze pouţít volbu Smíchat jako
způsob určení zdroje dat v překryvu.
Parametry transformace jsou určovány pomocí vlícovacích bodů. Takto vypadá dialogové okno
74
ZODOP
37.1 Metoda
Je moţné pouţít tyto metody:
( ( x, y ) jsou souřadnice ve vstupním snímku,
37.1.1
Kopie
ux
v y
37.1.2
Posunutí
u  a0  x
v  b0  y
37.1.3
Podobnostní transformace
u  a0  a1 x  b1 y
v  b0  b1 x  a1 y
37.1.4
Afinní transformace
(u, v) v referenčním)
ZODOP
75
u  a0  a1 x  a2 y
v  b0  b1 x  b2 y
37.1.5
Projektivní transformace
u  (a0  a1 x  a2 y) /(1  c1 x  c2 y)
v  (b0  b1 x  b2 y) /(1  c1 x  c2 y)
37.1.6
Inverzní kvadratická transformace
x  a0  a1u  a2 v  a3u 2  a4 uv  a5 v 2
y  b0  b1u  b2 v  b3u 2  b4 uv  b5 v 2
vyjádření pro
37.1.7
u, v je moţné získat řešením příslušné rovnice 4. stupně.
Surf. spline (povrchově splajnová) transformace
n
u  a0  a1 x  a 2 y   f i ri 2 ln ri 2
i 1
n
v  b0  b1 x  b2 y   g i ri 2 ln ri 2
i 1
kde
ri2  ( x  xi ) 2  ( y  yi ) 2 , i  1,2,..., n,
n je počet vlícovacích bodů,
( xi , yi ) jsou souřadnice vlícovacích bodů ve vstupním obrázku.
Výpočet parametrů transformací se provádí metodou nejmenších čtverců tak, aby průměrná odchylka na
vlícovacích bodech byla minimální. Pokud vstupní obraz obsahuje údaje o dodatečných souřadnicích,
jsou tyto přepočteny do výstupního obrazu, pouze pokud je zvolena nějaká lineární metoda
transformace, tzn. kopie, posunutí, podobnostní nebo afinní.
37.2 Interpolace
Je moţné zvolit :
37.2.1
interpolaci nejbliţším sousedem,
kdy se jako hodnota mezi pixely vstupního obrázku uvaţuje
f ( x, y)  f ([ x  0.5],[ y  0.5]) ,
[ x ] je celá část čísla x ,
37.2.2
bilineární interpolaci,
kdy se jako mezipixelová hodnota uvaţuje
f ( x, y)  (1  s x )(1  s y ) f ([ x],[ y])  s x (1  s y ) f ([ x]  1,[ y]) 
(1  s x ) s y f ([ x],[ y]  1)  s x s y f ([ x]  1,[ y]  1)
,
76
ZODOP
kde
sx  x  [ x] ,
s y  y  [ y] ,
nebo
37.2.3
bikubickou interpolaci,
kdy se mezipixelová hodnota určí jako

f ( x, y)  s y 3
sy 2
sy
s 3 
 x2 
s
1 KZK T  x  ,
s 
 x 
 1 

kde
Zij  f ([ x]  j  1,[ y]  i  1) , na okrajích obrazu je zopakován krajní řádek a sloupec,
.
15
.
0.5 
0.5 15
 1
2.5 2 0.5

.
K
0.5 0
0.5
0 


1
0
0 
 0
37.3 Bod č.
Pořadí vlícovacího bodu, který je právě vybírán.
37.4 vst.x, vst.y, ref.x, ref.y
Souřadnice právě vybíraného vlícovacího bodu ve vstupním a v referenčním obrázku. Je moţno je
zadat jednak pomocí myši, jednak přímo z klávesnice. Tato druhá moţnost slouţí především pro
zadávání neceločíselných souřadnic.
Pomocí myši se vlícovací body zadávají kliknutím levou myší na vstupní obrázek, najetím kurzorem na
poţadovaný bod ve vstupním obrázku, stisknutím klávesy Ctrl a současným kliknutím levou myší. Poté
se obdobným způsobem zadá odpovídající bod v referenčním obrázku.
37.5 vst.x, vst.y, ref.x, ref.y
Souřadnice právě vybíraného vlícovacího bodu ve vstupním a v referenčním obrázku. Je moţno je
zadat jednak pomocí myši, jednak přímo z klávesnice. Tato druhá moţnost slouţí především pro
zadávání neceločíselných souřadnic.
Pomocí myši se vlícovací body zadávají kliknutím levou myší na vstupní obrázek, najetím kurzorem na
poţadovaný bod ve vstupním obrázku, stisknutím klávesy Ctrl a současným kliknutím levou myší. Poté
se obdobným způsobem zadá odpovídající bod v referenčním obrázku.
37.6 Ovladač nahoru – dolu vedle souřadnic bodů
Posunutí zobrazovaného vlícovacího bodu o jeden nahoru nebo dolu. Poslední je nový, dosud
nezapsaný vlícovací bod.
37.7 Tlačítko x vedle souřadnic bodů
Smazat zobrazovaný vlícovací bod.
ZODOP
77
37.8 Tlačítko <-> vedle souřadnic bodů
Zapsat opravené souřadnice zobrazovaného vlícovacího bodu do souboru.
37.9 Zpracování v souboru
Při potvrzení se výsledek uloţí přímo do souboru, nikoli do paměti.
Je vhodné pouţít při obzvlášť velkých rozměrech výsledku. Výsledek si lze prohlédnout otevřením
příslušného souboru jako typ holá data s nastavením vhodného zmenšení. Proto je také vhodné pouţít
typ souboru „.raw“.
Vstupní data se berou také ze souboru jako typ holá data, jeho jméno a rozměry se přečtou ze vstupního
obrazu. Pokud rozměry nesouhlasí, opravte je v editačním okénku rozměry vstupního obrazu.
V případném hlášení o chybě při pokusu otevřít dialog pro zjištění jména souboru se můţe vyskytnout
chybový kód.
37.10 Velké okno
V tomto okně se objevují indexy právě vybíraného vlícovacího bodu a jeho okolí 5 x 5. Pokud je
prostřední index červený, vybírá se ze vstupního obrazu, pokud je modrý, vybírá se z referenčního
obrazu.
37.11 Rozměry obrazů
Rozměry vstupního a referenčního snímku nelze měnit, jsou zde pouze pro informaci, výjimka je při
potvrzení radiotlačítka Zpracování v souboru. Rozměry výstupního snímku je moţné nastavit podle
potřeby.
37.12 Koeficient odchylky
Toto editační okénko se objevuje pouze kdyţ je zvolena povrchově splajnová transformace. Koeficient
odchylky  (lambda) vyjadřuje povolenou odchylku na vlícovacích bodech. Pro   0 je odchylka
na vlícovacích bodech nulová (pouze numerická chyba výpočtu), pro    se transformace blíţí
afinní.
37.13 Barvy značek
Při potvrzení se budou ve vstupním, referenčním a výstupním obrazu kreslit značky v místě vlícovacích
bodů v aktuálním souboru. Jejich barvy odpovídají barvám tlačítek za tímto potvrzovacím tlačítkem.
Kliknutím na barevné tlačítko lze barvu značek změnit.
37.14 Počet bodů
Počet vlícovacích bodů zapsaných v souboru s vlícovacími body.
37.15 testovacích
Pokud do tohoto okénka zapíšeme číslo k, bude posledních k vlícovacích bodů povaţováno za
testovací, tzn. nebudou pouţity pro výpočet parametrů transformace, ale pouze pro kontrolu její
přesnosti.
37.16 Tolerance
Výpočet parametrů transformace se provádí Gaussovou eliminací s úplným výběrem. Pokud je příslušná
soustava rovnic špatně podmíněná, například kdyţ je zadán stejný vlícovací bod dvakrát, mohlo by to
vést k nesmyslným výsledkům. Proto pokud je podmíněnost soustavy počítaná jako poměr posledního a
prvního hlavního prvku menší neţ číslo v tomto okénku, transformace se neprovede. Pokud chcete
transformaci provést vţdy, kdyţ výpočet dospěje k jakýmkoli výsledkům, zadejte 0.
37.17 Vybrat oblast dat ze vstupu
78
ZODOP
Při potvrzení bude při výpočtu transformace ve výstupu vytvořena vybraná oblast zahrnující část
obrazu, do které byla vloţena data ze vstupního obrazu. Vyjímkou je volba Smíchat v komboboxu Data
v překryvu, kdy vybraná oblast zahrnuje pouze smíchaná data v překryvu.
37.18 Data v překryvu
Zde je moţno zvolit, jak se při výpočtu transformace získají data v oblasti, kde se překrývají data ze
vstupního a z referenčního obrazu v případě, ţe bylo potvrzeno tlačítko Spojit vst. s ref. Moţnosti:
Ţádná
Vstupní
Referenční
Rozdělit
- oblast překryvu bude vyplněna barvou pozadí
- oblast překryvu bude vyplněna daty ze vstupního obrazu
- oblast překryvu bude vyplněna daty z referenčního obrazu
- oblast překryvu bude rozdělena na dvě části. Část bude vyplněna daty ze vstupního
obrazu a část z referenčního.
Smíchat
- oblast překryvu bude vyplněna aritmetickým průměrem dat ze vstupního a
referenčního obrazu.
- oblast překryvu bude vyplněna váţeným průměrem dat ze vstupního a referenčního
obrazu, kde váhy závisejí na vzdálenosti bodu od dat bez překryvu. Upozornění:
algoritmus je podstatně pomalejší neţ u ostatních metod.
Pozvolně
37.19 Spojit vst. s ref.
Při potvrzení budou při výpočtu transformace k datům ze vstupního obrazu připojena téţ data
z referenčního obrazu. Toto potvrzovací tlačítko má vliv i na funkci tlačítka Rozměry výst., při jeho
potvrzení budou do rozměrů výstupního obrazu zahrnuty i rozměry referenčního obrazu. Zdroj dat
v oblasti, kde se překrývají data ze vstupního a referenčního obrazu je moţno zvolit v komboboxu Data
v překryvu.
37.20 Dodatečný posun
Pokud není toto tlačítko potvrzeno, jsou při výpočtu rozměrů výstupního obrazu tlačítkem Rozměry
výst. stanoveny rozměry pouze od nuly k pravému a dolnímu kraji. Pokud padne část výstupního obrazu
do oblasti záporných souřadnic, je při výpočtu transformace odříznuta, jinak je obraz naopak
prodlouţen aţ k nule.
Při potvrzení tohoto tlačítka jsou rozměry a dodatečný posun stanoveny tak, aby všechny kraje
výstupního obrazu souhlasily s mezemi dat. Editační okénka s hodnotou posunu lze vyplnit také přímo
bez tlačítka Rozměry výst. Dodatečný posun je přičten k souřadnicím výstupu. Nevýhodou je, ţe potom
nelze kontrolovat kvalitu registrace pomocí tlačítka výst <-> ref..
37.21 Zápis vlícovacího bodu
Pokud je vybrán nový vlícovací bod, je zapsán do souboru. Téhoţ lze dosáhnout kliknutím pravou
myší.
37.22 Smazat vlícovací body
Soubor s vlícovacími body je smazán a výběr můţe začít znovu.
37.23 Editace vlícovacích bodů
Je zavolán textový editor, pomocí kterého lze editovat soubor s vlícovacími body. Má tento formát:
První řádka:
inkm
i interpolace:
0 nejbliţším sousedem
1 bilineární
2 bikubická
ZODOP
79
n počet vlícovacích bodů, vyjma testovacích bodů, pokud je záporné, jsou na dalším řádku rozměry a
počet vlícovacích bodů je -n.
k počet testovacích bodů :
k > 0 : kontroluje se přesnost na vlícovacích i testovacích bodech,
k = 0 : kontroluje se na vlícovacích bodech,
k = -1: nekontroluje se,
k < -1: kontroluje se na -1-k testovacích bodech
m metoda :
0 kopie
1 posunutí
2 podobnostní transformace
3 afinní transformace
4 projektivní transformace
6 kvadratická transformace
11 surface spline transformace
Pokud je n < 0 je na dalším řádku
rx ry ox oy
rx a ry jsou rozměry referenčního obrazu vodorovně a svisle, pokud je alespoň jeden z nich nulový,
jsou ignorovány,
ox a oy jsou rozměry výstupního obrazu vodorovně a svisle.
Údaje z této řádky jsou pouţity pouze pro inicializaci dialogu, nejsou obnovovány podle nastavení
dialogu.
Na dalších n nebo –n řádcích je:
u v x y poznámka
kde
u x-ová souřadnice vlícovacího bodu ve vstupním obrázku,
v y-ová souřadnice vlícovacího bodu ve vstupním obrázku,
x x-ová souřadnice vlícovacího bodu v referenčním obrázku a
y y-ová souřadnice vlícovacího bodu v referenčním obrázku.
Na dalších k nebo -1-k řádcích jsou souřadnice testovacích bodů.
Při pokusu o spuštění vnějšího procesu s textovým editorem se v případném hlášení o chybě můţe
vyskytnout chybový kód.
37.24 vst.<->ref.
Obsah okna se vstupním a referenčním snímkem je vzájemně zaměněn. Je moţné pouţít pro kontrolu
odchylek mezi nimi.
37.25 výst<->ref.
Obsah okna s výstupním a referenčním snímkem je vzájemně zaměněn. Je moţné pouţít pro kontrolu
kvality výsledku.
37.26 Nový vst.
Tlačítko Nový vst. (Nový vstupní obraz) způsobí, ţe obraz označený jako zdrojový se stane novým
vstupním obrazem pro geometrické transformace. Pokud ţádný obraz není označen jako zdrojový, je
pouze uvolněn starý vstupní obraz z vazeb ke geometrickým transformacím.
80
ZODOP
37.27 Nový ref.
Tlačítko Nový ref. (Nový referenční obraz) způsobí, ţe obraz označený jako zdrojový se stane novým
referenčním obrazem pro geometrické transformace. Pokud ţádný obraz není označen jako zdrojový, je
pouze uvolněn starý referenční obraz z vazeb ke geometrickým transformacím.
37.28 Vlícovací body v
Jméno souboru s vlícovacími body.
37.29 Výběr
Výběr souboru s vlícovacími body ze souborů na disku. V případném hlášení o chybě se můţe
vyskytnout chybový kód.
37.30 Provést
Provést transformaci. Máte-li pochybnosti o přesnosti transformace, odpovězte na dotaz „Pokračovat ?“
Zrušit a podívejte se na záznam o transformaci, který je v tu chvíli hotov. Pokud je v pořádku,
zmáčkněte tlačítko „Provést“ znovu. Transformaci lze přerušit klávesou Pause.
37.31 Ukončit
Ukončit dialog o geometrických transformacích.
37.32 Nápověda
Zobrazí nápovědu dialogu.
37.33 Záznam o transformaci
Objeví se nové okno se protokolem o transformaci. Ten je uloţen v souboru se stejným jménem jako
má soubor s vlícovacími body, pouze typ souboru je „.pro“. Jsou v něm uvedena jména a rozměry
vstupního a výstupního snímku, souřadnice těţiště vlícovacích bodů ve vstupním snímku, metoda
transformace a interpolace, podmíněnost soustavy rovnic pro výpočet koeficientů transformace,
koeficienty transformace a odchylky na vlícovacích bodech.
Koeficienty transformace jsou uvedeny ve tvaru, který je skutečně při výpočtu pouţit. U odchylek na
vlícovacích bodech je uvedeno číslo vlícovacího bodu, jeho souřadnice ve vstupním a v referenčním
snímku, souřadnice ve vstupním snímku, odkud se vezme hodnota výsledku na vlícovacím bodu a
odchylka na vlícovacím bodu. Na konec je uvedena průměrná odchylka na vlícovacích bodech. Pokud
bylo zvoleno pouţití testovacích bodů, jsou uvedeny zvlášť.
38. Snímání
V submenu Snímat jsou následující funkce:
38.1 Vybrat zařízení TWAIN
Vybrat zařízení připojené k počítači pomocí rozhraní TWAIN, které se bude pouţívat v následném
snímání. Typická zařízení jsou scannery a kamery.
38.2 Snímat pomocí TWAIN
Snímat pomocí zařízení připojeného k počítači pomocí rozhraní TWAIN. Typická zařízení jsou
scannery a kamery. Jedno volání této funkce umoţňuje získat jeden snímek. Funkci lze volat, pouze
kdyţ je nějaké takové zařízení k počítači opravdu připojeno.
38.3 Snímat okno
Po zvolení této funkce a zmáčknutí nastavené horké klávesy (viz Nastavit snímání z obrazovky,
implicitně F11) se z obrazovky sejme okno, které je právě aktivní a vytvoří se z něj nový obraz.
ZODOP
81
38.4 Snímat klientskou plochu
Po zvolení této funkce a zmáčknutí nastavené horké klávesy (viz Nastavit snímání z obrazovky,
implicitně F11) se z obrazovky sejme klientská plocha okna, které je právě aktivní a vytvoří se z ní
nový obraz.
38.5 Snímat celou obrazovku
Po zvolení této funkce a zmáčknutí nastavené horké klávesy (viz Nastavit snímání z obrazovky,
implicitně F11) se sejme obsah celé obrazovky a vytvoří se z něj nový obraz.
38.6 Snímat okno pod kurzorem
Po zvolení této funkce a zmáčknutí nastavené horké klávesy (viz Nastavit snímání z obrazovky,
implicitně F11) se z obrazovky sejme okno, které je právě pod kurzorem a vytvoří se z něj nový obraz.
38.7 Snímat plochu
Po zvolení této funkce a zmáčknutí nastavené horké klávesy (viz Nastavit snímání z obrazovky,
implicitně F11) se na obrazovce se objeví kříţový kurzor a malé okno, pomocí nichţ je moţno nakreslit
plochu zadaného tvaru (viz Nastavit snímání plochy, implicitně obdélník), která se potom sejme a
vytvoří se z ní nový obraz.
38.8 Snímat objekt
Po zvolení této funkce a zmáčknutí nastavené horké klávesy (viz Nastavit snímání z obrazovky,
implicitně F11) se na obrazovce se objeví zvolený kurzor (viz Nastavit snímání objektu, implicitně
šipka) a kliknutím myší na zvolený objekt se tento sejme a vytvoří se z něj nový obraz.
38.9 Snímat tvar kurzoru
Po zvolení této funkce a zmáčknutí nastavené horké klávesy (viz Nastavit snímání z obrazovky,
implicitně F11) se z obrazovky sejme aktuální tvar kurzoru a vytvoří se z něj nový obraz.
38.10 Nastavit snímání z obrazovky
Zde je moţné zvolit některé parametry snímání z obrazovky, jako je pouţitá horká klávesa, zpoţdění
snímání, počet nasnímaných obrazů a interval mezi nimi.
38.11 Nastavit snímání plochy
Zde je moţné zvolit některé parametry snímání plochy z obrazovky, zejména tvar snímané plochy.
38.12 Nastavit snímání objektu
Zde je moţné zvolit některé parametry snímání plochy z obrazovky, zejména tvar kurzoru.
38.13 Snímat zdroj z EXE
Snímat obrazy připojené jako zdroje k souboru typu .exe. Lze snímat bitmapy, ikony a kurzory.
38.14 Konec snímání z obrazovky
Touto funkcí je moţné předčasně ukončit nedokončené snímání.
39. Spustit makro
82
ZODOP
Program umoţňuje vytvořit soubor s posloupností příkazů, které se vykonají na jedno zavolání. Tato
posloupnost se nazývá makro. Po volbě Spustit makro v hlavním menu se objeví tento dialog:
Viz také formát souboru s makrem.
39.1 Výběr makra
Tímto tlačítkem je moţno zvolit soubor s makrem pomocí dialogu pro volbu souborů.
39.2 Editace makra
Zavolá se textový editor, který umoţní provést změny ve zvoleném makru.
39.3 Spustit
Spustí se zvolené makro.
39.4 Krokovat
Zvolené makro se spustí v reţimu krokování, tzn., ţe před zpracováním kaţdého příkazu se objeví okno
s dotazem, zda má být proveden. Odpověď OK znamená provést příkaz a přejít k dalšímu, odpověď
Storno předčasně ukončí makro.
39.5 Zavřít
Zavřít dialog o makrech.
39.6 Nápověda
Zobrazí se nápověda.
39.7 Zpracovává se makro
Jméno souboru se zvoleným makrem. Je moţno ho zde vyplnit, nejlépe včetně cesty, nebo zvolit
pomocí tlačítka Výběr makra.
39.8 Funkce
Jméno právě zpracovávané funkce.
39.9 Podfunkce
ZODOP
83
U sloţitějších funkcí se zde objevuje hodnota nejdůleţitějšího parametru nebo jiné bliţší určení právě
zpracovávané funkce.
39.10 Pořadí průchodu cyklem
Pokud makro obsahuje funkci Seznamy, objeví se zde pořadí právě zpracovávaného prvku seznamu.
Mimo platnost funkce Seznamy zůstává toto políčko prázdné.
39.11 Formát souboru s makrem
Makro je tvořeno posloupností příkazů. Kaţdý příkaz začíná jménem funkce, po kterém můţe, ale
nemusí, následovat buď jeden argument v kulatých závorkách nebo více argumentů oddělených
čárkami. Některé argumenty mohou být vynechány. Pokud za příkazem nebo na začátku řádky je znak
lomeno „/‟, je zbytek řádky povaţován za komentář a při zpracování makra se neuvaţuje. Rovněţ
zbytek řádky za znakem konec závorky „)‟ je povaţován za komentář.
Kaţdý příkaz je na samostatné řádce, ale příliš dlouhé příkazy je moţno rozdělit na více řádek tak, ţe
na konci dílčí řádky uprostřed příkazu se umístí znak lomeno „/‟, po kterém tentokrát nesmí následovat
komentář. Řádku nelze rozdělit uprostřed argumentu. Existuje limit na celkovou délku řádky po
sloučení všech dílčích řádek jednoho příkazu, v současné době to je 16384 znaků.
Na začátku řádky, za jménem funkce, před a za argumentem a na konci řádky můţe být libovolný počet
znaků mezera nebo tabulátor, které budou ignorovány.
Makro skončí, pokud bude dosaţeno konce souboru a při nalezení prázdné řádky nebo funkce
KonecMakra.
Rozlišují se argumenty dvou základních typů a to typ řetězec, který je uzavřen do uvozovek, a typ jiný,
který není. Rozlišují se však pouze tehdy, kdyţ slouţí pro vyhledávání poloţky v komboboxu nebo
listboxu, kde řetězec znamená přesné znění poloţky tak jak se objevuje v příslušném dialogu, zatímco
jiný argument se chápe jako číslo vyjadřující číslo poţadované řádky. V ostatních případech se typ
nerozlišuje a je moţné pouţít oba, jediný rozdíl je v tom, ţe u argumentu typu řetězec se počáteční
mezery po znaku uvozovky nevynechávají. Argumenty většinou slouţí k náhradě zadávání parametrů
funkce z dialogu, je proto moţné rozlišit druh argumentu podle toho jaký typ prvku dialogu nahrazuje.
Kromě jiţ zmíněné volby poloţky v komboboxu nebo listboxu to mohou to být názvy různých druhů
tlačítek nebo čísla či řetězce, které se normálně vyplňují do editačních okének. Pokud argument začíná
znakem kancelářské a „@‟, znamená název seznamu, ze kterého se teprve vybírá skutečně pouţitá
hodnota argumentu, viz funkci Seznamy.
Funkce můţe mít neomezený počet argumentů, ale většinou je počet omezen a jeho překročení způsobí
chybové hlášení a předčasné ukončení makra. Některé argumenty mohou být povinné, ty jsou zpravidla
na začátku seznamu argumentů, po nich následují nepovinné argumenty. Ty lze vynechat, a to buď tak,
ţe se seznam skutečných argumentů zkrátí, nebo tak, ţe v seznamu skutečných argumentů následují dvě
čárky po sobě. Místo vynechaných argumentů se pouţijí implicitní hodnoty. Nelze však vynechat
poslední argument před koncem závorky. Délka jednoho argumentu je omezena, v současné době to je
255 znaků.
Při rozpoznávání jmen funkcí i naprosté většiny argumentů se ignoruje jak rozdíl mezi velkými a
malými písmeny, tak rozdíl mezi písmeny s háčkem, čárkou či krouţkem a jejich protějšky bez
znaménka. Je tedy moţné pouţít jak česká písmena v kódu Windows CP1250, tak kódování ASCII.
Rozlišují se zpravidla pouze u jmen souborů.
Pokud je funkce volatelná také z menu, bylo její jméno vytvořeno zpravidla vynecháním jiných znaků
neţ písmen z řetězce v menu. Existují však také funkce, jejichţ pouţití má smysl pouze v makru, a jiné,
která vyţadují příliš velkou interaktivní spolupráci s uţivatelem a které lze volat pouze přímo, mimo
makro.
Pokud je výsledkem nějaké operace nový obraz, stává se automaticky zdrojovým a je implicitně pouţit
jako vstup následující operace. Pokud je někdy nutné porušit lineární zřetězení operací, kdy vstupem
operace je výsledek předchozí operace, je to moţné pomocí funkcí OznačitObraz, ZdrojZnačka,
VýsledekZnačka a VýsledekZdroj.
84
ZODOP
Nyní následuje abecední seznam jmen funkcí v hlavním programu, které jsou k dispozici vţdy, na
rozdíl od funkcí v zásuvných modulech. Je zde obsaţen pouze popis argumentů funkcí a velmi stručný
popis činnosti. Podrobnější popis je nutno hledat v nápovědách k interaktivním verzím těchto funkcí.
AlfaKanálObraz
AritmLogOperace
BarvaPozadí
ČástečněObnovitZDisku
ČástečněZpět
Fourier
Histogram
InverzeVybranéOblasti
Kaskáda
Komentář
KonecMakra
KonecSeznamů
Konvoluce
KopieObrazu
KopieVybranéOblasti
KouzelnáHůlka
LokálníEkvalizaceHistogramu
Lupa
Měřítko
Mozaika
NastaveníStrany
NovýObraz
Obnovit
ObnovitZDisku
ObrazAlfaKanál
Otevřít
OznačitObraz
Paleta
PořádkovýFiltr
Seznamy
Tisk
Transformace
Uloţit
UloţitJako
VlícovacíBody
Vloţit
VloţitDoNového
VloţitVybranouOblast
VybratObdélník
VybratVše
Vyjmout
Vymazat
VýsledekZdroj
VýsledekZnačka
ZavřítObraz
ZavřítVše
ZdrojZnačka
Následující funkce jsou k dispozici pouze pokud je dostupný příslušný zásuvný modul.
IndexRGB
JasAKontrast
OtevřítMapu
PokusnýObraz
PrůchodNulou
PřidatŠum
ZODOP
85
RGBIndex
RozdělitNaRGB
RozdělitNaYHS
Spojit
ZabalitRozbalit
Funkce volatelné také z menu jsou dále v souboru seřazeny podle pořadí v menu.
39.12 Seznamy
Tento příkaz umoţňuje definovat seznamy hodnot argumentů jiných příkazů.
Má minimálně 1 argument, maximální počet argumentů není omezen.
Argument začínající znakem „@‟ (kancelářské a neboli zavináč), znamená jméno seznamu, ostatní
argumenty tvoří obsah seznamu. První argument je vţdy jméno seznamu, pak mohou následovat
argumenty definující jeho obsah, po nich můţe následovat jméno dalšího seznamu atd. Prvky seznamu
mohou být buď vyjmenovány jako jednotlivé argumenty, nebo mohou obsahovat definici cyklu
uzavřenou mezi znaky „#‟ se dvěma nebo třemi číselnými parametry oddělenými dvojtečkou „:‟. Dva
parametry znamenají počáteční a koncový stav, přičemţ krok je vţdy 1, tři parametry znamenají
počáteční stav, počet opakování a krok. U prvního parametru se uvaţuje i počet číslic, který je moţno
zvýšit doplněním nulami zleva. Prvek seznamu pak bude v případě potřeby téţ doplněn nulami na
minimální počet znaků. Pokud potřebujete, aby se cyklus pouţil u jednoho prvku vícekrát, definije se
jen poprvé, dlaší výskyty se nahradí pouze jedním znakem „#‟. O tom, zda prvky seznamu budou typu
řetězec nebo ne, rozhoduje, zda první argument definující obsah seznamu je uzavřen do uvozovek.
Například příkaz
Seznamy(@vstup,C:\images\i#01:100#\s#.bmp,@vystup,“v#1:100:2#“)
definuje 2 seznamy, seznam „vstup‟ obsahuje celkem 100 prvků, a to „C:\images\i01\s01.bmp„ aţ
„C:\images\i01\s01.bmp„,
dále
„C:\images\i10\s10.bmp„
aţ
„C:\images\i99\s99.bmp„
a
„C:\images\i100\s100.bmp„. Prvky nebudou typu řetězec. Seznam „vystup„ obsahuje také 100 prvků, a
to „v1.bmp„, „v3.bmp„ aţ „v9.bmp„, „v11.bmp„ aţ „v99.bmp„ a „v101.bmp„ aţ „v199.bmp„ (s krokem 2),
prvky budou typu řetězec.
Při zpracování příkazu se pro kaţdý seznam vytvoří soubor se stejným jménem jako seznam a
s příponou „.tmp„, do kterého se uloţí prvky seznamu, vţdy na kaţdou řádku jeden. Pokud jméno
seznamu obsahuje typ souboru oddělený tečkou, bude po skončení makra zachován, v opačném případě
bude smazán. Pokud však takovýto soubor existuje před spuštěním makra, bude nový obsah přidán na
konec, proto je nutné makro, které takto vytváří soubor se seznamem, pustit jen jednou a před dalším
spuštěním soubor se seznamem smazat, jinak bude neustále přibývat prvků seznamu. Další moţností je
připravit si tento soubor předem a v příkazu Seznamy definovat jen jeho jméno. Takové makro pak
můţe být voláno opakovaně bez omezení. Vzniklý seznam implicitně není typu řetězec, pokud je nutné,
aby byl, musí se k němu přidat jako jediný prvek prázdný řetězec, např.
Seznamy(@trvaly.txt,““) .
Soubory se seznamy jsou umístěny do pracovního adresáře, pokud volíte makro tlačítkem Výběr makra,
je to stejný adresář, ve kterém je soubor s makrem. Proto je také nutné, aby do tohoto adresáře byl
moţný zápis.
Posloupnost příkazů za příkazem Seznamy aţ do příkazu KonecSeznamů je pak prováděna opakovaně
pro kaţdý prvek seznamu. Argumenty těchto příkazů ve tvaru znak „@‟ následovaný jménem seznamu
(stejný tvar jako v příkazu Seznamy) jsou při kaţdém průchodu nahrazeny aktuálním prvkem seznamu.
Pokud je seznamů více, rozhoduje o počtu průchodů cyklem seznam s nejmenším počtem prvků.
Příkaz Seznamy nelze vnořovat, tzn. mezi dvěma příkazy Seznamy musí být v makru právě jeden příkaz
Konec Seznamů, podobně po posledním příkazu Seznamy.
39.13 KonecSeznamů
Konec posloupnosti příkazů, pro kterou platí příkaz Seznamy. Ze seznamů definovaných předchozím
příkazem Seznamy se přečte další prvek. Pokud v některém seznamu uţ další prvek není, pokračuje se
dalším příkazem po příkazu KonecSeznamů, jinak se pokračuje dalším příkazem po předchozím
příkazu Seznamy.
86
ZODOP
Bez argumentů.
39.14 KonecMakra
Makro ukončí své provádění.
Bez argumentů.
39.15 OznačitObraz
Označit aktuální zdrojový obraz značkou.
1 argument:
celé číslo od 1 do 32767. Argument je povinný. Toto číslo bude přiřazeno zdrojovému obrazu jako
značka, pomocí které je moţno se na něj později odvolávat.
39.16 ZdrojZnačka
Obraz s danou značkou bude označen jako zdrojový.
1 argument:
celé číslo od 1 do 32767. Argument je povinný. Značka poţadovaného obrazu. Musí existovat obraz
označený touto značkou.
39.17 DruhýZnačka
Obraz s danou značkou bude označen jako druhý.
1 argument:
celé číslo od 1 do 32767. Argument je povinný. Značka poţadovaného obrazu. Musí existovat obraz
označený touto značkou.
39.18 DruhýZdroj
Zdrojový obraz bude označen zároveň jako druhý.
Bez argumentů
39.19 ZastavovacíBod
Provádění makra se přeruší a objeví se okno s dotazem, zda pokračovat krokováním. Odpověď Ano
znamená přejít do reţimu krokování, odpověď Ne znamená pokračovat normálně mimo reţim
krokování a odpověď Storno předčasně ukončí makro.
1 argument:
nezáporné celé číslo - pořadí průchodu cyklem.
Pokud je příkaz Zastavovací bod mezi příkazy Seznamy a KonecSeznamů, přeruší se makro teprve při
průchodu cyklem s pořadím rovným argumentu. Implicitně se zastaví vţdy.
39.20 ZavřítObraz
Zavřít zdrojový obraz.
Bez argumentů.
39.21 NovýObraz
Vytvoří se nový obraz vyplněný barvou pozadí.
3 argumenty:
1. řetězec s módem obrazu. Můţe být:
2.
 „Šedý“ – černobílý obraz v 8-bitovém módu
 „RGB“ – barevný obraz ve 24-bitovém módu RGB
celé číslo - vodorovný rozměr (šířka) obrazu
ZODOP
3.
87
celé číslo - svislý rozměr (výška) obrazu
Implicitně jsou parametry stejné jako při minulém volání. Po spuštění programu (nikoli makra !) jsou
„Šedý“,128,128.
39.22 Otevřít
Otevřít obraz z diskového souboru.
2 argumenty:
1. Jméno souboru s obrazem. Tento argument je povinný.
2.
Jméno filtru formátu, který se má pouţít jako první. Implicitně se pouţije pořadí filtrů jako
v seznamu filtrů v dialogu pro otevření obrazu. Pokud máte více zásuvných modulů pro čtení
poţadovaného formátu, můţete zadáním řetězce z tohoto komboboxu určit modul, který se bude
pokoušet otevřít obraz jako první.
Obrazy ve formátu Holá data je nutno otvírat pomocí předem připraveného siz souboru, jinak makro
uvízne na dotazu po rozměrech obrazu.
39.23 Uloţit
Uloţit obraz do původního souboru.
Bez argumentů.
Pokud byl zdrojový obraz vytvořen jako nový, uvízne makro na dotazu po novém jménu. Chcete-li
ukládat nové obrazy, je proto lépe pouţít příkaz UloţitJako.
39.24 UloţitJako
Uloţit obraz do diskového souboru pod novým jménem.
2 argumenty:
1. Nové jméno souboru. Tento argument je povinný.
2.
Jméno filtru formátu, který se má pouţít jako první. Implicitně se pouţije pořadí filtrů jako
v seznamu filtrů v dialogu pro uloţení obrazu. Pokud máte více zásuvných modulů pro zápis
poţadovaného formátu, můţete zadáním řetězce z tohoto komboboxu určit modul, který se bude
pokoušet uloţit obraz jako první.
39.25 ObnovitZDisku
Přečíst znovu ze souboru zdrojový obraz.
Bez argumentů.
39.26 NastaveníStrany
Nastavení velikosti a umístění obrazu na stránce při následném tisku.
8 argumentů:
1. Rozlišení obrazu vodorovně nebo šířka obrazu (podle 3. argumentu).
2.
Rozlišení obrazu svisle nebo výška obrazu (podle 3. argumentu).
3.
Jednotka předchozích 2 argumentů. Pokud je to jednotka rozlišení (řetězcový argument „dpi“,
„1/cm“, „1/mm“ nebo „1/pt“, číselný -1 aţ -4), jsou první 2 argumenty chápány jako rozlišení,
pokud je to jednotka délky (řetězcový argument „cm“, „mm“, „inch“ nebo „pt“, číselný 1 aţ 4),
jsou první 2 argumenty chápány jako velikost.
Implicitně, pokud je zadán alespoň jeden z prvních dvou argumentů, je rozlišení vodorovně i svisle
stejné, jinak je pouţito implicitní hustoty při tisku (viz funkce O aplikaci v hlavním menu). Pokud se
však obraz nevejde na aktuální stránku, je pouţito takové rozlišení, aby se právě vešel. Implicitní
jednotka je dpi.
4.
Počátek vodorovně. Můţe být buď jeden z řetězců


„Vlevo“ – Obraz zcela vlevo
„Vpravo“ – Obraz zcela vpravo
88
ZODOP
 „Střed“ – Obraz uprostřed
nebo číslo v plovoucí čárce udávající vzdálenost.
Počátek svisle. Můţe být buď jeden z řetězců
 „Nahoře“ – Obraz zcela nahoře
 „Dole“ – Obraz zcela dole
 „Střed“ – Obraz uprostřed
nebo číslo v plovoucí čárce udávající vzdálenost.
5.
Jednotka předchozích dvou argumentů, pokud byly zadány číselně. Můţe být zadán buď řetězcový
argument „cm“, „mm“, „inch“ nebo „pt“ nebo číselný 1 aţ 4. Implicitně je poloha vodorovně i
svisle uprostřed, implicitní jednotka je cm.
7. Rozlišení tiskárny vodorovně
8. Rozlišení tiskárny svisle
Implicitně je pouţito údajů z driveru, pokud je zadáno rozlišení vodorovně, je rozlišení svisle
implicitně stejné.
6.
39.27 Tisk
Tisk zdrojového obrazu na aktuální tiskárně.
5 argumentů:
1. Počet kopií – celé číslo, implicitně jako při minulém tisku, po spuštění programu jedna
2.
Řetězec


3.
„Dělení“ – povoleno dělení obrazu na více stránek
„Nedělení“ – dělení obrazu na více stránek není povoleno
implicitně jako při minulém tisku, po spuštění programu Nedělení.
Řetězec


„Vše“ – tisk celého obrazu
„Výběr“ – tisk pouze vybrané oblasti
nebo celé číslo – počáteční stránka. Implicitně jako při minulém tisku, po spuštění programu
Vše.
4.
celé číslo – koncová stránka. Bere se v úvahu pouze pokud i předchozí argument byl zadán číselně.
5.
Řetězec
 „SeřaditKopie“ - Seřadit kopie
 „NeřaditKopie“ - Neseřadit kopie
Ostatní parametry tisku, zejména formát papíru, jeho orientaci a pouţitou tiskárnu je nutno nastavit před
spuštěním makra funkcí Nastavení tisku z hlavního menu.
39.28 ČástečněZpět
V obdélníkové části obrazu vrátit zpět výsledek předchozí operace.
4 povinné celočíselné argumenty:
1. souřadnice levého kraje obdélníka
2.
souřadnice horního kraje obdélníka
3.
šířka obdélníka
4.
výška obdélníka
39.29 ČástečněObnovitZDisku
V obdélníkové části obrazu obnovit obraz ze souboru.
4 povinné celočíselné argumenty:
1. souřadnice levého kraje obdélníka
2.
souřadnice horního kraje obdélníka
ZODOP
3.
šířka obdélníka
4.
výška obdélníka
89
39.30 Vyjmout
Vyjmout vybranou oblast do schránky.
Bez argumentů.
39.31 Kopírovat
Kopírovat vybranou oblast do schránky.
Bez argumentů.
39.32 Vymazat
Vyplnit vybranou oblast aktuální barvou.
Bez argumentů.
39.33 Vloţit
Vloţit schránku do obrazu.
Bez argumentů.
39.34 VloţitDoNového
Vytvořit ze schránky nový obraz.
Bez argumentů.
39.35 KopieObrazu
Vytvořit kopii obrazu.
Bez argumentů.
39.36 AktuálníBarva
Změnit aktuální barvu.
4 celočíselné argumenty, z nichţ alespoň jeden musí být pouţit:
1. Index barvy pozadí u obrazu v indexových barvách.
2.
Červená sloţka barvy pozadí u obrazu ve 24-bitovém módu.
3.
Zelená sloţka barvy pozadí u obrazu ve 24-bitovém módu.
4.
Modrá sloţka barvy pozadí u obrazu ve 24-bitovém módu.
Implicitně zůstává příslušná sloţka beze změny.
39.37 Komentář
Změnit komentář k obrazu.
1 povinný argument – nový komentář, maximálně 255 znaků.
39.38 Lupa
Nastavit měřítko zobrazení obrazu.
3 argumenty:
1. Nové měřítko v % - celé číslo. Pokud první znak argumentu bude jeden ze znaků „+“, „-„, „*“ nebo
„/“, přičte, odečte, vynásobí nebo vydělí se argumentem původní měřítko.
2.
Řetězec
 „Vlevo“ – zůstane zachována poloha levého okraje obrazu v okně,
 „Vpravo“ – zůstane zachována poloha pravého okraje obrazu v okně,
 „Střed“ – zůstane zachována poloha středu obrazu v okně,
nebo celé číslo udávající x-ovou souřadnici bodu, jehoţ poloha se má zachovat.
3.
Řetězec
 „Nahoře“ – zůstane zachována poloha horního okraje obrazu v okně,
90
ZODOP
 „Dole“ – zůstane zachována poloha dolního okraje obrazu v okně,
 „Střed“ – zůstane zachována poloha středu obrazu v okně,
nebo celé číslo udávající y-ovou souřadnici bodu, jehoţ poloha se má zachovat.
Implicitní hodnoty jsou 100,Střed,Střed. Pokud je však zadán pouze jeden nebo oba poslední
argumenty, pouţijí se pro zbylé hodnoty z minulého volání.
39.39 Obnovit
Překreslit znovu obraz a pokud je to vhodné, změnit rozměry okna.
Bez argumentů.
39.40 AritmLogOperace
Aritmeticko – logické neboli dvouobrazové operace.
4 argumenty:
1. typ operace – povinný argument. Můţe být jeden z řetězců:
2.
 „Součet“ – součet
 „Rozdíl“ – rozdíl
 „Součin“ – součin
 „Podíl“ – podíl
 „Smíchat“ – lineární kombinace
 „And“ – logický součin
 „Or“ – logický součet
 „Xor“ – výhradní logický součet
 „Min“ – minimum
 „Max“ – maximum
Normalizační konstanta – číslo v plovoucí čárce
Implicitně stejné jako při posledním volání (bez ohledu na zvolený typ operace !), na začátku
programu 1.
3.
Řetězec

„Znaménko“ – hodnoty v obrázku se budou povaţovat za čísla se znaménkem v kódu
posunutá nula.
 „BezZnaménka“ – hodnoty v obrázku se budou povaţovat za čísla bez znaménka.
Implicitně stejné jako při posledním volání, na začátku programu BezZnaménka
4.
Řetězec


„Modulo“ – při přetečení se bude uvaţovat modulo výsledku.
„Oříznout“ – při přetečení bude výsledek oříznut.
Implicitně stejné jako při posledním volání, na začátku programu Oříznout.
39.41 Histogram
Úprava histogramu obrazu.
11 argumentů:
1. typ škály, povinný argument, jeden z řetězců:
2.
 „Lineární“
 „LinearníParam“ – lineární mezi parametry Dolní práh a Horní práh
 „Periodická“ – perioda a posun dané parametry Dolní práh a Horní práh
 „Ekvalizace“
 „Okno“ – 2 prahy – parametry Dolní práh a Horní práh
 „Práh“ – parametr Dolní práh
 „Exponenciální“ – mezi parametry Dolní práh a Horní práh
 „Logaritmická“ – mezi parametry Dolní práh a Horní práh
 „Uţivatelská“ – přečíst škálu ze souboru (5. Argument)
 „Šedá“ – lineární černobílá
Řetězec
ZODOP
91
3.
 „OK“ – provést pouze změnu palety,
 „Provést“ – přepočítat změny do hodnot v obrazu a nechat původní paletu
Celé číslo – parametr Dolní práh
4.
Celé číslo – parametr Horní práh
5.
Jméno souboru se škálou
6.
Sloţka se kterou se pracuje u 24-bitových obrazů. Můţe být buď řetězec, nebo číslo v závorce:
7.
 „RGB“, (0) – součet všech 3 sloţek
 „R“, (1) – červená sloţka
 „G“, (2) – zelená sloţka
 „B“, (3) – modrá sloţka
 „Y“, (4) – jas
Řetězec
8.
 „Invertovat“
 „NeInvertovat“
Celé číslo – parametr Černá
9.
Celé číslo – parametr Bílá
10. Číslo v plovoucí čárce – nová hodnota parametru gama
11. Řetězec
 „Vyhladit“ – vyhladit získaný histogram
 „Nevyhladit“ – získaný histogram pouţít bez úprav
Implicitně je 2. Argument OK, 7. Argument NeInvertovat a 5. Argument je pro uţivatelskou škálu
povinný. Ostatní parametry stejné jako při předchozím volání, na začátku programu (nikoli makra !) je
Dolní práh 0, Horní práh 255, RGB, Černá 0, Bílá 255, gama 0.5 a Nevyhladit.
39.42 Paleta
Změna palety.
9 argumentů:
1. Typ operace, povinný argument, jeden z řetězců:




















„Šedá“ – typ nové palety.
„Systém“ – typ nové palety.
„Masky“ – typ nové palety.
„Stejné“ – typ nové palety.
„Spektrální“ – typ nové palety.
„Teplotní“ – typ nové palety.
„Tónová“ – typ nové palety.
„Pastel“ – typ nové palety.
„Země“ – typ nové palety.
„Náhodná“ – náhodná paleta od Počátek v délce Délka
„Opakování“ – opakování hodnoty na začátku části, parametry Počátek, Délka a Délka části
/ Cíl
„Interpolace“ – lineární interpolace uvnitř částí, parametry Počátek, Délka a Délka části /
Cíl
„Rozšíření“ – rozšíření části na celou paletu, parametry Počátek, Délka a Délka části / Cíl
„Kopírovat“ – kopírovat část palety od Počátek v délce Délka do Délka části / Cíl
„Přesunout“ – přesunout část palety od Počátek v délce Délka do Délka části / Cíl
„Zaměnit“ – zaměnit části palety od Počátek a od Délka části / Cíl v délce Délka
„Jas“ – změnit obraz na černobílý v 8-bitovém módu
„UţítNovou“ – přepočítat indexy do nové palety. Starou paletu je nejprve nutno označit
operací OznačitStarou, pak paletu změnit a zavolat tuto operaci.
„UţítStarou“ – přepočítat indexy do staré palety. Starou paletu je nejprve nutno označit
operací OznačitStarou, pak paletu změnit a zavolat tuto operaci.
„Přečíst“ – přečíst paletu ze souboru (6. argument).
92
ZODOP




2.
„Uloţit“ – uloţit paletu do souboru (6. argument).
„Seřadit“ – seřadit paletu od Počátek v délce Délka podle kriterií v 7. aţ 9. argumentu.
„Invertovat“ – obrátit pořadí barev od Počátek v délce Délka.
„NastavitBarvu“ – parametry Počátek, Délka a Délka části / Cíl pouţít jako sloţky RGB
pro nastavení barvy v paletě na indexu Index.
 „ZmenšitÚrovně“ – zmenšit počet úrovní na 2^Index v části palety od Počátek v délce
Délka.
 „OznačitStarou“ – současnou paletu označit jako starou pro operace UţítNovou a
UţítStarou.
Celé číslo – parametr Počátek
3.
Celé číslo – parametr Délka
4.
Celé číslo – parametr Délka části / Cíl
5.
Celé číslo – parametr Index
6.
Jméno souboru s paletou, povinný argument pro operace Přečíst a Uloţit.
7.
První kriterium při řazení palety
8.
Druhé kriterium při řazení palety
9.
Třetí kriterium při řazení palety
Jako 7. aţ 9. argument lze pouţít buď jeden z následujících řetězců nebo číslo uvedené
v závorce:
„ničeho“ (0)
„jasu“ (1)
„tónu“ (2)
„sytosti“ (3)
„červené“ (4)
„zelené“ (5)
„modré“ (6)
Implicitní hodnoty jsou stejné jako při minulém volání, na začátku programu je to počínaje 2.
argumentem 0, 256, 16, 0, ,“jasu“, „tónu“ a „sytosti“. Implicitní stará paleta je paleta typu Systém.
39.43 Konvoluce
Filtrace obrazu pomocí konvoluce.
4 argumenty:
1. Typ filtru – buď číslo filtru nebo řetězec s přesným názvem předdefinovaného filtru, viz poznámka
1.
2.
Typ okrajů – buď jeden z následujících řetězců nebo číslo v závorce
3.
 „Opakovat okraje“ (0)
 „Periodické“ (1)
 „Zrcadlové“ (2)
 „Nulami“ (3)
 „Úplný výsledek“ (4)
 „Nedotčený vnitřek“ (5)
Řetězec
4.
 „Byte“ – výsledek není přepočten do rozsahu minimum – maximum
 „Float“ – výsledek je přepočten do rozsahu minimum – maximum
Jméno souboru s uţivatelským filtrem. Při pouţití tohoto argumentu má uţivatelský filtr přednost
před filtrem v 1. argumentu.
Poznámka 1:
Je povinné pouţít buď 1. nebo 4. argument. Implicitní hodnoty 2. a 3. argumentu jsou stejné jako při
minulém volání, na začátku programu „Opakovat okraje“ a Byte. Moţné hodnoty 1. argumentu:
1.
„Derivative north 1“
ZODOP
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.
„Derivative north 2“
„Derivative north east 1“
„Derivative north east 2“
„Derivative east 1“
„Derivative east 2“
„Derivative south east 1“
„Derivative south east 2“
„Derivative south 1“
„Derivative south 2“
„Derivative south west 1“
„Derivative south west 2“
„Derivative west 1“
„Derivative west 2“
„Derivative north west 1“
„Derivative north west 2“
„Laplacian 1“
„Laplacian 2“
„Laplacian 3“
„Laplacian 4“
„Laplacian 5“
„Laplacian 6“
„Laplacian 7“
„Extended Laplacian“
„Two chanel Laplacian - product“
„Enhancement (small)“
„Enhancement (normal)“
„Enhancement (strong)“
„Enhancement (maximum)“
„Enhancement type 1“
„Enhancement type 2“
„Enhancement type 3“
„Enhancement type 4“
„Smoothing 1“
„Smoothing 2“
„Smoothing 3“
„Smoothing 4“
„Smoothing 2 x 2“
„Smoothing 4 x 4 a“
„Smoothing 4 x 4 b“
„Smoothing 5 x 5 a“
„Smoothing 5 x 5 b“
„Smoothing 6 x 6“
„Derivative horizontal 1“
„Derivative horizontal 2“
„Derivative vertical 1“
„Derivative vertical 2“
„Vertical line detection“
„Horizontal line detection“
„1st diagonal detection“
„2nd diagonal detection“
„3-level maxabs 3 x 3“
„3-level maxabs 5 x 5“
„3-level maxabs 7 x 7“
„3-level maxabs 9 x 9“
„5-level maxabs 3 x 3“
„Prewitt mean-square 3 x 3“
„Prewitt sumabs 3 x 3“
„Prewitt mean-square 5 x 5“
„Prewitt sumabs 5 x 5“
93
94
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.
ZODOP
„Prewitt mean-square 7 x 7“
„Prewitt sumabs 7 x 7“
„Prewitt mean-square 9 x 9“
„Prewitt sumabs 9 x 9“
„Roberts mean-square“
„Roberts sumabs“
„Sobel mean-square“
„Sobel sumabs“
„Compass max“
„Kirsch max“
„Pyramid maxabs 5 x 5“
„Pyramid maxabs 7 x 7“
„Pyramid maxabs 9 x 9“
„Mean-square“
„Kasvand - Laplacian identitty“
„Kasvand line enhancement max-floor“
„Eberlain maxabs-sub-floor“
„Normalizer 4 x 4“
„Normalizer 5 x 5“
„f-delsq(f)“
„Fyy simple“
„Template of object“
„First differential“
„Marr 1/sqrt(2) 5 x 5“
„Marr 1
7 x 7“
„Marr sqrt(2) 9 x 9“
„Marr 2
11 x 11“
„Marr 2sqrt(2) 23 x 23“
„Marr 4
31 x 31“
„Marr 4sqrt(2) 41 x 41“
„Marr 8
53 x 53“
„Marr 8sqrt(2) 69 x 69“
39.44 PořádkovýFiltr
Filtrace pomocí pořádkového filtru.
4 argumenty:
1. Typ filtru – řetězec
2.
 „Medián“ – mediánová filtrace.
 „Maximum“ – filtrace typu maximum z okolí
 „Minimum“ – filtrace typu minimum z okolí
 „MaxMinMajor“ – filtrace typu maximum-minimum
 „MaxValMin“ – filtrace typu bliţší z maxima, minima.
 „Šum“ – mediánová filtrace pouze při nadprahových hodnotách, práh je 4. argument.
 „Horní“ – mediánová filtrace pouze při podprahových hodnotách, práh je 4. argument.
Velikost okolí – celé číslo.
3.
Typ okolí
4.
 „Kruh“ – kruhové okolí.
 „Čtverec“ – čtvercové okolí.
Celé číslo – parametr práh filtru Šum a Horní.
Implicitní hodnoty jsou stejné jako při minulém volání, na začátku programu je to Medián, 5,
Kruh, 0.
39.45 LokálníEkvalizaceHistogramu
Práce s Lokálním histogramem.
3 argumenty:
1. Typ operace – řetězec
ZODOP
2.
 „Histogram1“ – ekvalizace histogramu (zachovává konstantní plochy)
 „Histogram2“ – ekvalizace histogramu (na konstantní ploše 128)
 „Histogram3“ – ekvalizace histogramu (na konstantní ploše 0)
 „StředníHodnota“ – vyrovnání střední hodnoty.
Poloměr okolí – celé číslo.
3.
Typ okolí
95
 „Kruh“ – kruhové okolí.
 „Čtverec“ – čtvercové okolí.
Implicitní hodnoty jsou stejné jako při minulém volání, na začátku programu je to Histogram1, 5, Kruh.
39.46 Fourier
Fourierova transformace.
24 argumentů:
1. Typ operace, povinný argument, jeden z řetězců:
2.
 „if“ – převod z pevné do plovoucí čárky.
 „dFFT“ – přímá Fourierova transformace.
 „Visualizace“ – visualizace spektra nebo filtru.
 „TvorbaFiltru“ – vytvoření filtru.
 „Filtrace“ – provedení filtrace.
 „iFFT“ – inverzní Fourierova transformace.
 „fi“ – převod z plovoucí do pevné čárky.
 „ifdFFT“ – převod z pevné do plovoucí čárky a přímá Fourierova transformace.
 „iFFTfi“ – inverzní Fourierova transformace a převod z plovoucí do pevné čárky.
 „TvorbaFiltruFiltrace“ – vytvoření filtru a provedení filtrace.
 „ZaměnitSF“ – zaměnit spektrum a filtr.
 „Doplnění“ – bude vytvořen obraz doplněný na rozměry dané parametry lc a lr
Jméno souboru se spektrem
3.
Jméno souboru s filtrem
4.
Typ doplnění – buď jeden z následujících řetězců nebo číslo v závorce
5.
 „nulami“ (0)
 „zrcadlením“ (1)
 „periodickým prodlouţením“ (2)
 „střední hodnotou“ (3)
 „opakováním krajního řádku a sloupce“ (4)
 „shlazením k nule“ (5)
 „shlazením ke střední hodnotě“ (6)
Typ filtru – buď jeden z následujících řetězců nebo číslo v závorce
6.
 „ţádný“ (0)
 „pásmový“ (1)
 „směrový“ (2)
 „Gaussův“ (3)
 „exponenciální“ (4)
 „derivační“ (5)
 „import filtru“ (6)
 „konstantní“ (7)
 „komplementární“ (8)
 „násobený -1“ (9)
 „násobený sqrt(-1)“ (10)
 „převrácená hodn.“ (11)
Číslo v plovoucí čárce – parametr lc
7.
Číslo v plovoucí čárce – parametr lr
8.
Číslo v plovoucí čárce – parametr hc
96
9.
ZODOP
Číslo v plovoucí čárce – parametr hr
10. Číslo v plovoucí čárce – parametr vf, v případě, ţe typ filtru je směrový, můţe být téţ jeden
z řetězců
 „pí“ nebo „p“ (ekvivalent 3.141592653589793),
 „deg“, „degree“, „d“, „°“, „stupeň“ nebo „s“ (ekvivalent 3.141592653589793/180),
 „grad“ nebo „g“ (ekvivalent 3.141592653589793/200),
 „rad“ nebo „radián“, „r“ (ekvivalent 1).
Parametry lc, lr, hc, hr a vf mají různý význam podle typu filtru.
11. Typ filtrace – buď jeden z následujících řetězců nebo číslo v závorce
 „*“ (1): spektrum=spektrum*filtr
 „+“ (2): spektrum=spektrum+filtr
 „=“ (3): spektrum=filtr
12. Visualizace – buď jeden z následujících řetězců nebo číslo v závorce
 „spektra“ (0)
 „filtru“ (1)
13. Visualizovaná sloţka – buď jeden z následujících řetězců nebo číslo v závorce
 „logaritmická“ (1)
 „amplitudová“ (2)
 „fázová“ (3)
 „reálné části“ (4)
 „imaginární části“ (5)
14. Číslo v plovoucí čárce – Dolní mez visualizace
15. Číslo v plovoucí čárce – Horní mez visualizace
16. Jednotka mezí visualizace – buď jeden z následujících řetězců nebo číslo v závorce
 „%“ (1)
 „úrovně šedi“ (2)
 „úrovně vstupu“ (3)
17. Sloţka převáděná na celá čísla – buď jeden z následujících řetězců nebo číslo v závorce
 „logaritmický“ (1)
 „amplitudový“ (2)
 „fázový“ (3)
 „reálná část“ (4)
 „imaginární část“ (5)
18. Číslo v plovoucí čárce – Dolní mez převodu na celá čísla
19. Číslo v plovoucí čárce – Horní mez převodu na celá čísla
20. Jednotka převodu na celá čísla – buď jeden z následujících řetězců nebo číslo v závorce
 „%“ (1)
 „úrovně šedi“ (2)
 „úrovně vstupu“ (3)
21. Řetězec
 „Doplnění“ – bude vytvořen obraz doplněný na nejbliţší vyšší mocninu 2
 „NeDoplnění“ – nebude vytvořen obraz doplněný na nejbliţší vyšší mocninu 2
22. Řetězec
 „Smazat“ – po výpočtu smazat soubory v plovoucí čárce
 „NeSmazat“ – po výpočtu nemazat soubory v plovoucí čárce
23. Celé číslo – Šířka obrazu
24. Celé číslo – Výška obrazu.
Implicitní hodnoty stejné jako při posledním volání, po spuštění programu (nikoli makra !) jsou
počínaje 2. argumentem „spektrum“, „filtr“, „zrcadlením“, „pásmový“, 0.0, 0.0, 0.25, 0.25, 1.0, „*“,
„spektra“, „logaritmická“, 0, 100, „%“, „reálná část“, 0, 255, „úrovně vstupu“, „NeDoplnění“ a
„Smazat“. Implicitní hodnoty 23. a 24. argumentu jsou rozměry zdrojového obrazu při poslední operaci
„if“ nebo „ifdFFT“, tedy převodu obrazu do plovoucí čárky. Pokud je první operace jiná, je třeba tyto
argumenty zadat.
39.47 Měřítko
ZODOP
97
Změnit rozměry obrazu.
5 argumentů:
1. Nový rozměr vodorovně – řetězec obsahující číslo v plovoucí čárce (pokud je jednotka rozměru
vodorovně „Pixelů“, musí být číslo celé) nebo poměr dvou celých čísel
2.
Nový rozměr svisle – řetězec obsahující číslo v plovoucí čárce (pokud je jednotka rozměru svisle
„Pixelů“, musí být číslo celé) nebo poměr dvou celých čísel
3.
Řetězec

4.
„PoměrStran“ – pokud byl zadán právě jeden z předchozích dvou argumentů, dopočítá se
druhý tak, aby poměr stran zůstal zachován. Pokud byly zadány oba, výška se ignoruje a
dopočítá se ze šířky.
 „NePoměrStran“ – dopočet se neprovede, nezadané rozměry zůstanou beze změny.
Jednotka rozměru vodorovně – buď jeden z následujících řetězců nebo číslo v závorce
5.
 „Pixelů“ (0)
 „%“ (1)
 „Zvětšit/Zmenšit“ (2)
Jednotka rozměru svisle – buď jeden z následujících řetězců nebo číslo v závorce
6.
 „Pixelů“ (0)
 „%“ (1)
 „Zvětšit/Zmenšit“ (2).
Pouţitá interpolace – buď jeden z následujících řetězců nebo číslo v závorce
 „Průměrováním“ (0)
 „Nejbliţším sousedem“ (1)
 „Bilineární“ (2)
 „Bikubická“ (3)
 „Nejbliţším sousedem LeadTools“ (4)
 „Preference černé LeadTools“ (5)
 „Bilineární+průměrování LeadTools“ (6)
 „Bikubická+průměrování LeadTools“ (7).
Implicitně jako při minulém pouţití, po spuštění programu PoměrStran, Pixelů a Průměrováním.
39.48 Transformace
Jednoduché geometrické transformace obrazu.
2.
3.
Druh transformace, povinný argument, jeden z řetězců:
 „Doleva“ – otočení doleva o 90 stupňů.
 „Doprava“ – otočení doprava o 90 stupňů.
 „Zrcadlení“ – zrcadlení.
 „Překlopení“ – překlopení.
 „Otočení“ – otočení o obecný úhel.
 „VodorovnýStřih“
 „SvislýStřih“
Reálné číslo - úhel otočení nebo střihu.
Pouţitá interpolace – buď jeden z následujících řetězců nebo číslo v závorce
4.
 „Nejbliţším sousedem“ (0)
 „Bilineární“ (1)
 „Bikubická“ (2).
Rozměry při otočení - buď jeden z následujících řetězců nebo číslo v závorce
1.
 „Opsaný obdélník“ (0)
 „Zachovat“ (1).
Implicitně jako při minulém pouţití, po spuštění programu 0, Nejbliţším sousedem a Opsaný obdélník.
39.49 VlícovacíBody
98
ZODOP
Geometrická transformace určená vlícovacími body.
12 argumentů:
1. Jméno souboru s vlícovacími body, povinný argument.
2.
Řetězec „Rozměry“ – rozměry výstupního obrazu budou zjištěny pomocí přímé transformace, nebo
celé číslo – šířka výstupního obrazu.
3.
Řetězec „DodatečnýPosun“ – pokud bude při přímé transformaci mít část výstupního obrazu
záporné souřadnice, bude i tato část zahrnuta do výsledku, řetězec „BezDodatečnéhoPosunu“
(implicitně), nebo celé číslo – výška výstupního obrazu.
4.
Metoda – buď jeden z následujících řetězců nebo číslo v závorce
5.
 „kopie“ (0)
 „posunutí“ (1)
 „podobnostní“ (2)
 „afinní“ (3)
 „projektivní“ (4)
 „inverzní kvadratická“ (6)
 „povrchově splajnová“ (11)
Interpolace – buď jeden z následujících řetězců nebo číslo v závorce
6.
 „nejbliţším sousedem“ (0)
 „bilineární“ (1)
 „bikubická“ (2)
Číslo v plovoucí čárce – parametr lambda (koeficient odchylky), pouze pokud metoda je
„povrchově splajnová“.
7.
Číslo v plovoucí čárce – parametr tolerance.
8.
Řetězec „Spojit“ – ve výsledku budou spojena data ze vstupního a z referenčního obrazu, řetězec
„Nespojit“ – pouze ze vstupního (implicitně). Jiný řetězec bude chápán jako jméno vstupního
souboru při práci v souboru a parametry 9 – 11 pak jako upřesnění této práce.
9.
Způsob spojení dat – buď jeden z následujících řetězců nebo číslo v závorce nebo při práci
v souboru jméno výstupního souboru
 „Ţádná“ (0)
 „Vstupní“ (1)
 „Referenční“ (2)
 „Rozdělit“ (3) implicitně
 „Smíchat“ (4)
 „Pozvolně“ (5)
10. Celé číslo – dodatečný posun vodorovně, při práci v souboru šířka vstupního obrazu.
11. Celé číslo – dodatečný posun svisle, při práci v souboru výška vstupního obrazu.
12. Řetězec „Výběr“ – Ve výstupním obrazu bude vytvořena vybraná oblast zahrnující data ze
vstupního obrazu, pokud 8. parametr bude „Spojit“ a 9. „Smíchat“ (4) nebo „Pozvolně“ (5), pak
vybraná oblast bude zahrnovat pouze data kombinovaná ze vstupního i referenčního obrazu.
Řetězec „BezVýběru“ – vybraná oblast nebude vytvořena (implicitně).
Pokud nejsou uvedeny argumenty 2 aţ 5, zjišťují se ze souboru s vlícovacími body. Pokud rozměry
výstupu nejsou ani tam, jsou implicitně stejné jako vstupu. 6. a 7. argument jsou implicitně stejné jako
při minulém volání, po spuštění programu je lambda=0 a tolerance=10^-16.
39.50 VybratVše
Vybraná oblast se zruší a následné operace se budou provádět na celém obrazu.
Bez argumentů.
39.51 VybratObdélník
Vybrat oblast pomocí souřadnic.
6 argumentů, první 4 celočíselné povinné:
ZODOP
1.
souřadnice levého kraje obdélníka
2.
souřadnice horního kraje obdélníka
3.
šířka obdélníka
4.
výška obdélníka
5.
Řetězec začínající jedním ze znaků
6.
99

+ nová vybraná oblast se sjednotí se stávající

– nová vybraná oblast se odečte od stávající

x nová vybraná oblast se přidá ke stávající a překryv se odečte

0 nová vybraná oblast přepíše stávající (implicitně).
Řetězec určující tvar vybrané oblasti

„Obdélník“ (implicitně)

„OblýObdélník“

„Elipsa“
39.52 KouzelnáHůlka
Určit vybranou oblast metodou růstu oblasti.
4 argumenty:
1. Celé číslo – x-ová souřadnice počátečního bodu.
2.
Celé číslo – y-ová souřadnice počátečního bodu.
3.
Celé číslo – citlivost kouzelné hůlky.
4.
Řetězec začínající jedním ze znaků

+ nová vybraná oblast se sjednotí se stávající

– nová vybraná oblast se odečte od stávající

0 nová vybraná oblast přepíše stávající.
Implicitní hodnoty jsou stejné jako při posledním volání, argumenty 1, 2 a 4 lze změnit pouze voláním
této funkce z makra. Po spuštění programu jsou hodnoty nastaveny na 0, 0, 51, „0“.
39.53 VloţitVybranouOblast
Vloţit tvar vybrané oblasti do zdrojového obrazu.
Bez argumentů.
39.54 InverzeVybranéOblasti
Invertovat vybranou oblast.
Bez argumentů.
39.55 KopieVybranéOblasti
Tvar vybrané oblasti bude překopírován ze zdrojového do výsledného obrazu.
Bez argumentů.
39.56 AlfaKanálObraz
Vytvoří se nový obraz, ve kterém vybraná oblast bude vyznačena bíle a zbytek černě.
Bez argumentů.
39.57 ObrazAlfaKanál
Ve výsledném obrazu bude tvar vybrané oblasti určen podle zdrojového obrazu prahováním.
1 celočíselný argument: práh. Pokud nebude zadán a zdrojový obraz nebude binární, uvízne makro na
dotazu po tomto prahu.
39.58 Kaskáda
Seřadit všechny otevřené obrazy do kaskády.
100
ZODOP
Bez argumentů.
39.59 Mozaika
Seřadit všechny otevřené obrazy do mozaiky.
Bez argumentů.
39.60 ZavřítVše
Zavřít všechny obrazy, přičemţ dotazy po uloţení budou potlačeny.
Bez argumentů.
Následující funkce jsou zajišťovány pomocí zásuvných modulů, takţe jsou k dispozici, jen pokud je
k dispozici příslušný zásuvný modul.
39.61 JasAKontrast
Změna jasu a kontrastu obrazu neboli práce s konstantou.
3 argumenty:
1. Číslo v plovoucí čárce – parametr jas (implicitně 0).
2.
Číslo v plovoucí čárce – parametr kontrast (implicitně 1).
3.
Řetězec
 „OK“ – provést pouze změnu palety (implicitně),
 „Provést“ – přepočítat změny do hodnot v obrazu a nechat původní paletu.
Je třeba alespoň jeden argument skutečně zadat.
Pozn. Pro barevné obrazy v RGB módu je nutno zadat 3. argument „Provést“, jinak příkaz nemá ţádný
vliv. Pro barevné obrazy v indexových barvách je naopak lépe zvolit „OK“ a změny přepočítat
příkazem Paleta, např. takto:
Paleta(OznačitStarou)
JasAKontrast(-50,1.5,“OK“)
Paleta(UžítStarou)
Volit svobodně mezi „OK“ a „Provést“ tedy má smysl pouze pro černobílé obrazy.
39.62 PokusnýObraz
Vytvořit pokusný obraz.
Bez argumentů.
39.63 RozdělitNaRGB
Rozdělit obraz v RGB módu na 3 nové obrazy, obsahující červenou, zelenou a modrou sloţku.
3 celočíselné argumenty. Pokud jsou zadány, pouţijí se jako značky pro nově vzniklé obrazy.
39.64 RozdělitNaYHS
Rozdělit obraz v RGB módu na 3 nové obrazy, obsahující sloţky jas, tón a sytost.
3 celočíselné argumenty. Pokud jsou zadány, pouţijí se jako značky pro nově vzniklé obrazy.
39.65 Spojit
Spojit 3 černobílé (8-bitové) obrazy do jednoho barevného v RGB módu.
4 argumenty: První 3 jsou celočíselné značky vstupních obrazů, 4. argument je jeden z řetězců:
„RGB“ – vstupní obrazy jsou povaţovány za sloţky červenou, zelenou a modrou. (implicitně)
„YHS“ – vstupní obrazy jsou povaţovány za sloţky jas, tón a sytost.
Pokud nebudou vstupní obrazy nalezeny, dojde k chybě, takţe první 3 argumenty jsou povinné.
ZODOP
101
39.66 IndexRGB
Převod obrazu z 8-bitových indexových barev do 24-bitového RGB módu.
Bez argumentů.
39.67 RGBIndex
Převod obrazu ze 24-bitového RGB módu do 8-bitových indexových barev.
4 argumenty:
1. typ palety, jeden z řetězců:
2.
 „Systém“ – systémová paleta (implicitně),
 „Adaptivní“ – paleta podle četnosti barev v obrazu,
 „Zákaznická“ – paleta ze souboru.
V případě adaptivní palety celé číslo – parametr počet barev (implicitně 256), jinak jméno souboru
s paletou.
3.
Parametr počet úrovní vstupů – buď jeden z následujících řetězců nebo číslo v závorce
4.
 „8“, (3)
 „16“, (4)
 „32“, (5)
 „64“, (6 – implicitně)
 „128“,
(7)
 „256“, (8)
Řetězec
 „Dithering“ – pro počet úrovní vstupu menší nebo roven 64 se pouţije dithering
 „BezDitheringu“ – nepouţije se dithering (implicitně).
V případě typu palety Systém se ostatní argumenty ignorují, při Zákaznická je argument se jménem
souboru povinný a při Adaptivní se uvaţují všechny argumenty.
39.68 ZabalitRozbalit
Změna počtu bitů na pixel.
2 argumenty:
1. Výsledný počet bitů na pixel. Můţe být 1, 2, 4 nebo 8. Implicitně 8.
2.
Nejvyšší pouţitý bit – buď číslo 0 aţ 7 nebo řetězec „NejvyššíPouţitýBit“, který můţe být
následován znaménkem + nebo – a číslicí 0 aţ 7. Implicitně 0.
Pokud je ve druhém argumentu pouţit řetězec „NejvyššíPouţitýBit“, je určeno, který nejvyšší bit je
ve vstupním obrazu skutečně pouţit a k výsledku se přičte nebo od něj odečte případná číselná hodnota.
Vstupní obraz nesmí mít více neţ 8 bitů na pixel, jinak je nutno napřed pouţít funkci RGBImdex.
39.69 PrůchodNulou
Testuje průchody hodnot v obrazu nulou (v kódu posunutá nula).
1 celočíselný argument – minimální strmost signálu při průchodu nulou (implicitně 1).
39.70 PřidatŠum
Přidat do obrazu Šum.
3 argumenty:
1. číslo v plovoucí čárce – standardní odchylka šumu (implicitně 32).
2.
Rozloţení šumu
3.
 „Gaussův“ – Gaussovo (implicitně)
 „Rovnoměrný“ – Rovnoměrné
typ šumu

„Náhodný“ – pokaţdé jiný (implicitně)
102
ZODOP

„Definovaný“ – pokaţdé stejný.
39.71 OtevřítMapu
Otevřít mapu sloţenou ze čtverců.
11 argumentů:
1. Řetězec s číslem mapy – povinný argument.
2.
Soubor s vlícovacími body pro otočení mapy, implicitně se nevytvoří.
3.
řetězec

4.
„TFW“ – vytvoří se soubor se jménem stejným jako soubor s vlícovacími body, pouze
s příponou ‚.tfw„, obsahující údaje nutné pro správné odečítání souřadnic funkcí Souřadnice.
 „BezTFW“ – tento soubor se nevytvoří (implicitně)
Tfw soubor otočené mapy obsahující údaje nutné pro správné odečítání souřadnic funkcí
Souřadnice. Implicitně se nevytvoří.
5.
Zmenšení – celé číslo (implicitně 1).
6.
Zvětšení – celé číslo (implicitně 1).
7.
Levý okraj výřezu – celé číslo (implicitně levý okraj mapy).
8.
Horní okraj výřezu – celé číslo (implicitně horní okraj mapy).
9.
Šířka výřezu – celé číslo (implicitně přes celou mapu).
10. Výška výřezu – celé číslo (implicitně přes celou mapu).
11. Adresář se čtverci (implicitně jako při minulém volání).
12. Soubor se seznamem čtverců (implicitně jako při minulém volání).
13. Soubor se seznamem vrcholů (implicitně jako při minulém volání).
Poznámka:
Zatímco parametry 1 aţ 10 nemají vliv na volání funkce z menu, parametry 11 aţ 13 se zapisují do
inicializačního souboru a v případě chybného zadání je pak nutno zavolat funkci z menu a zadat je
správně, proto buďte při jejich zadávání v makru opatrní.
Příklad:
otevritmapu(12-41-18,c:\mapa\mapa.vli,tfw,c:\mapa\mapao.tfw,3,2)
vlicovacibody(c:\mapa\mapa.vli)
ulozitjako(c:\mapa\mapao.tif)
Předpokládá se, ţe adresář se čtverci, soubor se seznamem čtverců a soubor se seznamem vrcholů je
nastaven od minulého volání funkce pomocí dialogu a je moţno tyto údaje získat z inicializačního
souboru. Prvním příkazem se vytvoří obraz s neotočenou mapou 12-41-18 dvakrát zvětšený a třikrát
zmenšený, tedy v měřítku 2/3 původního, soubor s vlícovacími body a tfw soubory neotočené i otočené
mapy. Druhým příkazem se mapa otočí podle údajů v souboru s vlícovacími body a třetím příkazem se
otočená mapa uloţí na disk a zároveň přejmenuje. Jméno otočené mapy se musí od jména tfw souboru
otočené mapy lišit pouze příponou.
40. Funkce pracující s vybranou oblastí
Některé funkce umoţňují pracovat pouze s částí obrazu zvanou „vybraná oblast“ (angl. selection).
V jednoduchém rastrovém obrazu můţe můţe mít vybraná oblast jakýkoli tvar, kterýkoli pixel do ní
můţe buď patřit nebo nepatřit a existuje řada způsobů, jak oblast vybrat. Naproti tomu ve vektorovém a
vícevrstvém obrazu můţe být vybraná oblast pouze obdélníková a jediná operace, která s ní pracuje, je
vytvoření rastrové verze vybrané oblasti.
ZODOP
103
40.1 Vybrat vše
Vybraná oblast bude zahrnovat celý obraz (implicitní stav po vytvoření nového obrazu). Paměť pro
uloţení tvaru vybrané oblasti bude uvolněna.
40.2 Vybrat dialogem
Dialog zajišťující několik způsobů výběru oblasti. Pokud bude zmáčknuto tlačítko pevný počátek a
alespoň jedno z tlačítek pevný rozměr, 1 řádek nebo 1 sloupec, provede se výběr při potvrzení tlačítkem
OK, jinak se provede při zadání chybějících parametrů myší přímo v obrázku. Pokud při provedení
akce byla zmáčknuta klávesa Shift, přidá se nová oblast k původní, při zmáčknutí klávesy Ctrl se nová
oblast odkrojí od původní, při zmáčknutí obou kláves se nová oblast přidá k původní, ale překryv se od
ní odečte, jinak se původní oblast přepíše novou. Takto vypadá dialogové okno
40.2.1
pevný počátek
Při potvrzení bude mít vybraný obdélník pevný počátek daný parametry první řádek a první sloupec.
40.2.2
první řádek
Souřadnice horního okraje vybraného obdélníku.
40.2.3
první sloupec
Souřadnice levého okraje vybraného obdélníku.
40.2.4
pevný rozměr
Při potvrzení bude mít vybraný obdélník pevný rozměr daný parametry počet sloupců a počet řádků.
40.2.5
počet sloupců
Počet sloupců (šířka) vybraného obdélníku.
40.2.6
počet řádků
Počet řádků (výška) vybraného obdélníku.
40.2.7
Obdélník
Vybere se oblast ve tvaru obdélníka.
40.2.8
Oblý obdélník
Vybere se oblast ve tvaru obdélníka s kulatými rohy. Poloosa elipsy v rohu je 1/6 rozměru obdélníka.
104
40.2.9
ZODOP
Elipsa
Vybere se oblast ve tvaru elipsy.
40.2.10
1 řádek
Vybraný obdélník bude obsahovat pouze jeden řádek.
40.2.11
1 sloupec
Vybraný obdélník bude obsahovat pouze jeden sloupec.
40.2.12
OK
Vybrat zadaný obdélník. Pokud zbývají některé parametry neurčené, je nutno je zvolit pomocí myši a
jejího levého tlačítka přímo v obraze.
40.2.13
Zrušit
Zrušit dialog o výběru obdélníku.
40.2.14
Nápověda
Zobrazí se nápověda dialogu.
40.3 Vybrat obdélník
Při tomto způsobu volby klikněte levou myší na obraz, najeďte kurzorem pomocí myši v obrazu na
poţadovaný roh obdélníku (většinou levý horní), klikněte levým tlačítkem myši, najeďte na protilehlý
roh (většinou pravý dolní) a opět klikněte levým tlačítkem myši. Pokud na konci akce byla zmáčknuta
klávesa Shift, přidá se nová oblast k původní, při zmáčknutí klávesy Ctrl se nová oblast odkrojí od
původní, jinak (téţ při zmáčknutí obou kláves) se původní oblast přepíše novou.
40.4 Vybrat oblý obdélník
Při tomto způsobu volby oblého obdélníka klikněte levou myší na obraz, najeďte kurzorem pomocí
myši v obrazu na poţadovaný roh opsaného obdélníku (většinou levý horní), klikněte levým tlačítkem
myši, najeďte na protilehlý roh (většinou pravý dolní) a opět klikněte levým tlačítkem myši. Pokud na
konci akce byla zmáčknuta klávesa Shift, přidá se nová oblast k původní, při zmáčknutí klávesy Ctrl se
nová oblast odkrojí od původní, při zmáčknutí obou kláves se nová oblast přidá k původní, ale překryv
se od ní odečte, jinak se původní oblast přepíše novou.
40.5 Vybrat elipsu
Při tomto způsobu volby elipsy klikněte levou myší na obraz, najeďte kurzorem pomocí myši v obrazu
na poţadovaný roh opsaného obdélníku (většinou levý horní), klikněte levým tlačítkem myši, najeďte
na protilehlý roh (většinou pravý dolní) a opět klikněte levým tlačítkem myši. Pokud na konci akce byla
zmáčknuta klávesa Shift, přidá se nová oblast k původní, při zmáčknutí klávesy Ctrl se nová oblast
odkrojí od původní, při zmáčknutí obou kláves se nová oblast přidá k původní, ale překryv se od ní
odečte, jinak se původní oblast přepíše novou.
40.6 Obecný tvar
Kreslení oblasti obecného tvaru. Najeďte myší nad obraz, zmáčkněte levé tlačítko myši a nakreslete
oblast poţadovaného tvaru. Je téţ moţné zmáčknout klávesu Alt, myš pak kreslí úsečky a kaţdé
kliknutí levou myší znamená začátek nové úsečky. Pokud drţíte levou myš zmáčknutou, kreslí se jako
bez Alt. Pokud na konci akce byla zmáčknuta klávesa Shift, přidá se nová oblast k původní, při
zmáčknutí klávesy Ctrl se nová oblast odkrojí od původní, jinak (téţ při zmáčknutí obou kláves) se
původní oblast přepíše novou.
40.7 Kouzelná hůlka
ZODOP
105
Klikněte myší na vybraný pixel a do vybrané oblasti budou zahrnuty ty pixely, jejichţ hodnota indexu
leţí v daném tolerančním pásmu a které sousedí hranou s některým z pixelů dříve zahrnutých do nové
oblasti. V případě obrazů v RGB módu musí být hodnoty všech 3 kanálů v daném tolerančním pásmu.
Pokud na konci akce byla zmáčknuta klávesa Shift, přidá se nová oblast k původní, při zmáčknutí
klávesy Ctrl se nová oblast odkrojí od původní, jinak (téţ při zmáčknutí obou kláves) se původní oblast
přepíše novou. Po dvojitém kliknutí je moţné nastavit toleranční pásmo (viz Nastavení citlivosti
kouzelné hůlky).
40.8 Nastavení citlivosti kouzelné hůlky
Zde je moţné nastavit toleranční pásmo
rovna c  t a zároveň menší nebo rovna
zkoumaný pixel zahrnut do oblasti.
t kouzelné hůlky. Pokud bude hodnota pixelu i větší nebo
c  t , kde c je hodnota pixelu, na který bylo kliknuto, bude
40.9 Zobrazit / skrýt vybranou oblast
Zde je moţné vybrat, zda vybraná oblast bude zobrazena ve zdrojovém obrazu pohyblivě a v ostatních
nepohyblivě (animovaná vybraná oblast), ve všech obrazech bez pohybu (statická vybraná oblast) nebo
se nebude zobrazovat vůbec (skrýt vybranou oblast). Překreslování velkých vybraných oblastí trvá
někdy dlouho a tento čas je moţné ušetřit vypnutím překreslování hranic vybrané oblasti.
40.10 Vloţit vybranou oblast
Vloţit tvar vybrané oblasti ze schránky do zdrojového obrazu, pokud obojí existuje.
40.11 Inverze vybrané oblasti
Po této akci budou do vybrané oblasti patřit ty body, které do ní předtím nepatřily a nebudou do ní
patřit ty body, které do ní předtím patřily. Pokud není vybrána ţádná oblast, nic se neprovede (stav, kdy
všechny body obrazu patří do vybrané oblasti je povaţován za stejný se stavem, kdy ţádný bod nepatří
do vybrané oblasti).
40.12 Kopie vybrané oblasti
Tvar vybrané oblasti je zkopírován z obrazu označeného jako zdrojový do obrazu označeného jako
druhý. Při různých rozměrech obrazů se kopíruje levý horní roh opsaného obdélníka na levý horní roh a
vybraná oblast je případně oříznuta na poţadovaný rozměr.
40.13 Alfa kanál -> obraz
Pokud je v označeném obraze vybraná nějaká oblast, je vytvořen nový obraz, ve kterém body patřící do
oblasti budou bílé (úroveň 255) a body nepatřící do oblasti budou černé (úroveň 0).
40.14 Obraz -> alfa kanál
Ze zdrojového obrazu je vytvořena vybraná oblast v obraze označeném jako druhý (dvojitý klik pravou
myší). Pokud vstupní obraz obsahuje pouze hodnoty 0 a 255 (obě), je z hodnot 255 vytvořena vybraná
oblast, pokud obsahuje i jiné hodnoty, je oprahován a práh je zjišťován dotazem. U barevných snímků
se prahuje jas. Pokud bude stejný obraz označen jako druhý i jako zdrojový, můţeme získat touto
funkcí oblast vybranou oprahováním tohoto obrazu.
41. Okna
41.1 Kaskáda
Uspořádá obrazová okna do tvaru připomínajícího kaskádu (stupňovitý vodopád). Příliš velká okna
přitom zmenší. Ikonizovaná okna jsou restaurována.
106
ZODOP
41.2 Mozaika
Vyplní obrazovými okny vymezenou plochu. Přitom změní jejich rozměry tak, aby se nepřekrývala, ale
vyplnila plochu s co nejmenšími mezerami. Ikonizovaná okna jsou restaurována.
41.3 Uspořádej ikony
Ikony ikonizovaných obrazových oken jsou uspořádány do řádků a sloupců.
41.4 Zavřít vše
Zavřít všechna obrazová okna. U obrazů, na kterých byla provedena sloţitější operace, se objeví dotaz,
zda mají být uloţeny do souboru.
41.5 Minimalizovat vše
Vytvořit ze všech obrazových oken ikony.
41.6 Obnovit vše
Obnovit původní velikost a polohu všech ikon představujících obrazy.
41.7 Seznam obrazů
Seznam obrazových oken. Okno s potvrzovací značkou je označeno jako zdrojové. Při zvolení jiného
okna bude tento zaměřen a stane se zdrojovým.
42. Nápověda
42.1 Obsah
Zobrazí se první stránka nápovědy s obsahem.
42.2 Index
Při volání pomocí akcelerátoru - klávesy F1 se objeví nápověda zaměřeného okna (okna s fokusem).
Volání z menu nemá příliš smysl, protoţe při tom je nutné zaměřit hlavní okno a objeví se stránka
nápovědy s obsahem.
42.3 O aplikaci
Objeví se některé základní informace o tomto programu.
43. Výkonné zásuvné moduly
Výkonné zásuvné moduly jsou zásuvné moduly určené pro vykonávání nějaké funkce na rozdíl od
formátových, určených k otvírání a ukládání souborů. Jsou volané z menu. V současné době jsou
k dispozici tyto výkonné zásuvné moduly:
Zásuvný modul
Pokusný obrázek
Vloţit text
Vloţit čáru
Vloţit ikonu
Úpravy vektorových obrazů
Vícevrstvý obraz
v souboru
pokusob.dll
text.dll
lines.dll
icons.dll
editvector.dll
layers.dll
pomocné soubory
Lines.txt, Linesold.txt
ZODOP
Souřadnice
Jas a kontrast
Hlavní komponenty
Přidat šum
Vyváţení bílé
Průchod nulou
Fázová korelace
Detekce rohů
Animovaný gif
Otevřít mapu
Zeměpisné souřadnice
107
coord.dll
const.dll
komponen.dll
noise.dll
whitebalance.dll
zerocros.dll
phasecor.dll
corners.dll
gif89a.dll
mapy.dll
geogr.dll
Coord.txt
L10vs.dbf, L50vs.dbf
Coord.txt, Geotran.dll, Dforrt.dll
44. Pokusný obrázek
Je vytvořen zkušební obrázek. Má rozměry 100 x 100 a je vyplněn funkcí
16 
 sin r 
f  255
 1 / 2 , kde r 
(i  50) 2  ( j  50) 2 .
 r

100
45. Vloţit text
Zásuvný modul pro vkládání textu do obrazu. Po zapsání textu do příslušného editačního okna se text
nejprve objevuje v obrazu jako samostatná vrstva, jejíţ polohu je moţné nastavit myší. Po potvrzení
tlačítkem OK se text zapíše do obrazových dat. Zde je příslušný dialog:
45.1 Vybrat font
Závolá se systémový dialog pro volbu fontu. Kromě tvaru písma je zde moţno zvolit i velikost, tučnost,
sklon, přeškrtnutí, podtrţení, barvu a skript (jazykovou verzi). Velikost, tučnost a barvu je moţno zvolit
i v hlavním dialogu, ostatní vlastnosti pouze zde. Jméno vybraného fontu a zvolený skript jsou pro
informaci zobrazeny v hlavním dialogu.
45.2 Barva písma a pozadí
Tlačítkem Barva písma je moţno zvolit barvu textu. Pokud je aktivní obraz ve 24-bitovém RGB módu
nebo ţádný obraz není otevřen, objeví se systémový dialog pro volbu barvy. Pokud je aktivní obraz v
108
ZODOP
indexových barvách nebo je černobílý, objeví se dialog pro volbu barvy z palety. Obě barvy jsou
uloţeny v různých proměnných a změna jedné nemá vliv na druhou. Barvu písma je moţné zvolit i v
systémovém dialogu pro volbu fontu, ovšem s menší přesností. Pokud uţivatel změní barvu zde, změní
se obě tyto proměnné. Aktuální barva platná pro aktivní obraz je zobrazena v obdélníku vedle tlačítka.
Tlačítkem Barva pozadí je zavolán dialog pro volbu aktuální barvy, která je poté pouţita jako barva
pozadí. Implicitně je však pozadí průhledné a barva pozadí se uplatní pouze kdyţ potvrzovací pole
Průhledné pozadí není potvrzeno. Aktuální barva pozadí platná pro aktivní obraz je zobrazena v
obdélníku vedle tlačítka.
Tlačítkem Barva písma<->barva pozadí se vymění obě barvy navzájem.
45.3 Velikost
Zde je moţné nastavit velikost písma. Velikost je udávána v tiskových bodech. Při přepočtu na pixely
jsou brány v úvahu údaje, které má systém o pouţitém monitoru, údaje o velikosti monitoru však
nemusí vţdy odpovídat skutečnosti. Další nepřesnosti vznikají při zaokrouhlování na celé pixely, proto
přesnou velikost písma v pixelech je nutné zjistit pokusem. Velikost je moţné nastavit i při výběru
fontu příslušným systémovým dialogem, v tom pípadě je výhodou při výběru rastrového fontu, ţe v
seznamu jsou jen velikosti, které jsou k dispozici.
45.4 Tučnost
Zde je moţno zvolit tučnost písma, tedy tloušťku čar. Tučnost má kromě volby "Implicitní" 9 stupňů:
"Čárové", "Zvlášť tenké", "Tenké", "Normální", "Střední", "Polotučné", "Tučné", "Zvlášť tučné" a
"Těţké". Implicitní hodnota je "Normální". Nutno ovšem upozornit, ţe ne pro všechny fonty jsou k
dispozici všechny tučnosti. Všestranné fonty mívají zpravidla 4 tučnosti, ostatní fonty ještě méně. Můţe
se vám proto stát, ţe pokud změníte tučnost pouze o jeden stupeň, vzhled písma se nezmění. Pouţije se
tučnost nejbliţší zvolené, která je často pro oba stupně stejná.
Tučnost je moţné volit i při výběru fontu systémovým dialogem, ovšem pouze ve dvou stupních:
"Normální" a "Tučné".
45.5 Vkládaný text
Do tohoto editačího okna se vpisuje vkládaný text. Zde se objevuje v systémovém fontu pro dialogy
(zpravidla MS Sans Serif), v obrazu pak ve zvoleném fontu. Toto editační okno je moţné vyplnit také
ze souboru tlačítkem Text ze souboru.
45.6 Text ze souboru
V editačním okénku vedle tlačítka je moţné vyplnit název souboru a tlačítkem Text ze souboru pak
zkopírovat text z tohoto souboru. Soubor lze zvolit také tlačítkem Výběr souboru. Dlouhé soubory není
moţné zkopírovat celé, pouţije se prvních 64 kB.
45.7 Poloha textu
V editačních okéncích počátek vodorovně a svisle se objevuje posunutí levého horního rohu textu
oproti levému hornímu rohu obrazu v pixelech. Polohu je moţné změnit buď tak, ţe zde vyplníme
číselné údaje, nebo kliknutím levou myší do obrazu a následným pohybem.
45.8 Přidat font
Po zmáčknutí tohoto tlačítka se objeví dialog pro volbu souboru. Po výběru souboru s fonty program
umoţní pouţívat fonty v něm obsaţené. Při úspěchu se objeví zpráva o počtu přidaných fontů
následovaná jejich seznamem. Při neúspěchu se objeví jedno z následujících chybových hlášení:
"Nebyl přidán ţádný font. Pravděpodobně špatná syntaxe souboru." - soubor se nepodařilo dekódovat.
"Nebyl přidán ţádný font. Pravděpodobně font stejného jména uţ v systému je." - fonty stejného jména
uţ v systému jsou a nebylo by moţné nově přidané fonty volit a pouţívat, ţádné fonty proto nebyly
přidány.
45.9 Odebrat font
Po zmáčknutí tohoto tlačítka se objeví dialog se seznam souborů s fonty, které byly dříve přidány. Z
tohoto souboru vyberte myší soubory s fonty, které chcete odebrat. Pomocí kláves Ctrl a Shift je moţné
vybrat i více souborů najednou. Pokud je seznam prázdný, nebyly přidány ţádné fonty, které by bylo
ZODOP
109
moţno odebrat. Informace o souborech s přidanými fonty jsou uchovávány v souboru ZODOP32.ini,
proto pro správnou funkci tohoto tlačítka je nutné zachovat tento soubor neporušený.
45.10 OK
Text je zkopírován do obrazových dat a dialog o vkládání textu do obrazu je uzavřen.
45.11 Zavřít
Zavřít dialog o vkládání textu do obrazu aniţ by text byl vloţen.
45.12 Nápověda
Objeví se tato nápověda.
46. Vloţit čáru
Dialog umoţňující vloţit do obrazu čáru. Zde je dialogové okno:
46.1 Typ čáry
Zde je moţno zvolit typ vkládané čáry (plná, čárkovaná, tečkovaná či různým způsobem čerchovaná).
Seznam typů čar je vytvořen podle údajů v souboru ‚lines.txt„ dodávaném spolu se zásuvným modulem,
který můţe být změněn (tlačítko Editor).
46.2 Kreslit křivky nebo úsečky
Zde je moţno zvolit vkládání křivky přesně sledující pohyb myši v obrazu při stisknutém levém tlačítku
nebo vkládání úsečky spojující bod, kde bylo stisknuto levé tlačítko s bodem, kde bylo toto tlačítko
puštěno. Pokud v okamţiku stisknutí levého tlačítka byla současně stisknuta klávesa Shift na klávesnici,
bude fáze čáry navazovat tam, kde skončilo minulé kreslení, jinak se začne fáze počítat znovu od nuly.
Např. zvolíte-li typ čáry čerchovaná se střídající se dlouhou a krátkou čárkou, bude kreslení bez Shiftu
vţdy začínat dlouhou čárkou a se Shiftem tam, kde skončilo minulé kreslení, tedy skončilo-li mezerou
mezi dlouhou a krátkou čárkou, bude se začínat krátkou čárkou.
46.3 Tloušťka čáry
Zde je moţno zvolit tloušťku vkládané čáry v pixelech.
46.4 Obraz do paměti
Tímto tlačítkem je moţno uloţit do paměti stávající stav obrazu a později se k němu vrátit tlačítkem
Obraz z paměti. Implicitně je zdrojový obraz uloţen do paměti při volání tohoto dialogu a kdykoli je
kliknutím levou myší zaměněn zdrojový obraz za jiný.
110
ZODOP
46.5 Obraz z paměti
Tímto tlačítkem je moţno vrátit stav obrazu uloţený v paměti tlačítkem Obraz do paměti. Implicitně je
zdrojový obraz uloţen do paměti při volání tohoto dialogu a kdykoli je kliknutím levou myší zaměněn
zdrojový obraz za jiný.
46.6 Zavřít
Zavřít dialog o kreslení čar do obrazu.
46.7 Barva
Zde je moţno zavolat dialog pro volbu aktuální barvy, která určuje barvu kreslené čáry. Nezapomeňte,
ţe pro 8-bitové obrazy v indexových barvách platí parametr Index, zatímco pro 24-bitové RGB obrazy
platí parametry Č, Z a M.
46.8 Nápověda
Zobrazí se nápověda.
46.9 Editor
Umoţní editovat soubor, podle kterého je vytvořen seznam typů čar (viz Formát souboru se seznamem
typů čar). Změny se projeví aţ při novém volání dialogu pro kreslení čar.
46.10 Formát souboru se seznamem typů čar
Na kaţdé řádce je vţdy na začátku seznam nezáporných celých čísel oddělených mezerami. Znamenají
střídavě délku čárky a délku mezery v pixelech při tloušťce čáry 1. Při větší tloušťce je tato pouţita jako
jednotka délky. Pokud je počet čísel lichý, tzn. první i poslední číslo znamená délku čárky, je tato
sjednocena a kreslena jako jedna čárka. Rozdíl můţete zjistit porovnáním plné čáry se seznamem čísel
1, kdy ke sjednocení dojde, a se seznamem čísel 1 0, kdy ke sjednocení nedojde, při větší tloušťce (min.
4).
Při úpravách tohoto souboru mějte na paměti, ţe čáry jsou zaokrouhlovány do rastru obrazů a není je
moţno vykreslit přesně. Pokud se mezera má objevit v obrazu i v případě šikmých čar tloušťky 1, musí
být vzhledem k vlastnostem pravoúhlého rastru dlouhá alespoň 2.
Za posledním číslem v seznamu čísel následuje středník ‚;„ (bez mezery !) a za ním slovní (případně
znakový) popis daného typu čáry, který se objeví v příslušném komboboxu pro volbu typu čáry. Popis
končí s koncem řádky a má omezenou délku (v současné době na 64 znaků).
47. Vloţit ikonu
Dialog Vkládání ikon do obrazu umoţňuje přečíst ikonu ze souboru a vloţit ji do obrazu. Ikona se
vkládá myší najetím kurzorem na místo ve zdrojovém obrazu, kam má být ikona vloţena a kliknutím
levým tlačítkem myši. Přesněji, na pixel obrazu, kam bylo kliknuto, je vloţen prostřední pixel ikony,
v případě sudých rozměrů ikony pixel posunutý o 0.5 k pravému dolnímu kraji.
ZODOP
111
47.1 Počet ikon v souboru
Počet ikon ve zvoleném souboru.
47.2 Ikona číslo
Pořadí ikony ve zvoleném souboru. Ikony jsou číslovány podle skutečného umístění v souboru bez
ohledu na rozdělení do skupin. Pokud toto pořadí vyplníte ručně, je nutné zobrazit zvolenou ikonu
tlačítkem Obnovit.
47.3 Tlačítko <
Zmenšit pořadí ikony o jednu. Nelze nastavit pořadí menší neţ 1.
47.4 Tlačítko >
Zvětšit pořadí ikony o jednu. Nelze nastavit pořadí větší neţ počet ikon v souboru, pokud nějaké ikony
obsahuje.
47.5 Vzhled
Zobrazení zvolené ikony.
47.6 Výběr souboru
výběr souboru s ikonou pomocí dialogu. Ikony je moţné získat buď z aplikačního souboru typu „.exe“,
dynamické knihovny „.dll“ nebo ze speciálního ikonového souboru „.ico“. Na začátku je automaticky
zvolen tento zásuvný modul „icons.dll“.
47.7 Obnovit
Znovu zobrazit zvolenou ikonu. To je uţitečné, např. kdyţ číslo ikony v editačním okénku vyplníte
ručně.
47.8 Přidat barvy
Pokud je obraz černobílý nebo v indexových barvách s chudou paletou neobsahující barvy podobné
barvám z ikony, je moţné tímto tlačítkem přidat některé barvy z ikony do palety obrazu. Lze to však
provést pouze v případě, kdy paleta obsahuje nevyuţité barvy, které se nevyskytují v obrazu, nebo
pokud obsahuje více stejných barev. Počet skutečně přidaných barev se objeví v dolní části dialogu.
Toto tlačítko je nutné pouţít po zvolení obrazu i vkládané ikony, ale před jejím skutečným vloţením do
obrazu. Na dříve vloţené ikony nemá přidání barev vliv.
47.9 Zrušit
Zrušit dialog o vkládání ikon do obrazu.
47.10 Nápověda
112
ZODOP
Zobrazí se nápověda.
48. Úpravy vektorových obrazů
Tento zásuvný modul zpřístupňuje některé úpravy vektorových obrazů zajišťované knihovnou
Leadtools. Pouţívá tento dialog :
48.1 3D volby
Objeví se dialog knihovny LeadTools pro zpřístupnění moţností nastavení třírozměrného promítání:

Osvětlení. Zde je moţno (někdy) nastavit zobrazení vektorového obrazu, jako by byl osvětlen
zvnějšku.

Pouţít osvětlení. Při potvrzení bude pouţito osvětlení.

Okolní barva. Barva pouţitá pro osvětlení.

Mnohoúhelníkový mód. Způsob zobrazení mnohoúhelníků. Můţe být:

Body - Kreslí se pouze hrany mnohoúhelníků a čáry.

Čáry - Kreslí se jako drátové rámce.

Vyplnit - Kreslí se vyplněné mnohoúhelníky.

Vyplnit a vţdy zobrazit rastr - Kreslí se vyplněné mnohoúhelníky a vţdy se kreslí rastrové
objekty.

Ok - potvrdit nastavené hodnoty parametrů a zavřít dílčí dialog.

Zrušit - Nastavit všechny parametry na původní hodnoty a zavřít dílčí dialog.

Náhled - při potvrzení se zde objevuje zmenšený náhled na nastavené změny.
48.2 Kamera
Objeví se dialog knihovny LeadTools pro zpřístupnění moţností nastavení třírozměrného promítání:

Theta - úhel otočení kolem osy Z.

Fí - úhel odklonu od osy Z.
ZODOP
113

Vzdálenost - vzdálenost mazi kamerou a objektem.

Perspektiva - pokud je toto políčko potvrzeno, pouţívá se perspektivní promítání, jinak se
pouţívá paralelní promítání.

Původní - nastavit všechny parametry na původní implicitní hodnoty.

Ok - potvrdit nastavené hodnoty parametrů a zavřít dílčí dialog.

Zrušit - nastavit všechny parametry na původní hodnoty a zavřít dílčí dialog.

Náhled - při potvrzení se zde objevuje zmenšený náhled na nastavené změny.
48.3 Posunutí
Objeví se dialog knihovny LeadTools pro zpřístupnění moţností nastavení třírozměrného promítání:

Theta - úhel otočení kolem osy Z.

+X, -X, +Y, -Y, +Z, -Z - posunutí v jednotlivých osách.

Původní - nastavit všechny parametry na původní implicitní hodnoty.

Ok - potvrdit nastavené hodnoty parametrů a zavřít dílčí dialog.

Zrušit - nastavit všechny parametry na původní hodnoty a zavřít dílčí dialog.

Náhled - při potvrzení se zde objevuje zmenšený náhled na nastavené změny.
48.4 Otočení
Objeví se dialog knihovny LeadTools pro zpřístupnění moţností nastavení třírozměrného promítání:

+X, -X, +Y, -Y, +Z, -Z - otáčení kolem příslušné osy.

Původní - nastavit všechny parametry na původní hodnoty.

Ok - potvrdit nastavené hodnoty parametrů a zavřít dílčí dialog.

Zrušit - nastavit všechny parametry na původní hodnoty a zavřít dílčí dialog.

Náhled - při potvrzení se zde objevuje zmenšený náhled na nastavené změny.
48.5 Změna měřítka
Objeví se dialog knihovny LeadTools pro zpřístupnění moţností nastavení třírozměrného promítání:

+X, -X, +Y, -Y, +Z, -Z - změna měřítka v příslušné ose.

All - všechny. Při potvrzení se změna měřítka nastavuje ve všech osách najednou.

Původní - nastavit všechny parametry na původní hodnoty.

Ok - potvrdit nastavené hodnoty parametrů a zavřít dílčí dialog.

Zrušit - nastavit všechny parametry na původní hodnoty a zavřít dílčí dialog.

Náhled - při potvrzení se zde objevuje zmenšený náhled na nastavené změny.
48.6 Nastavit vybírání
Objeví se dialog knihovny LeadTools pro zpřístupnění moţností úpravy objektů. Vlastnosti jsou
rozděleny do několika záloţek:
 General - všeobecné. Zde je moţné nastavit:

Selected - vybrán. Při potvrzení je objekt vybrán pro potřeby knihovny LeadTools.

Ok - potvrdit nastavené hodnoty parametrů a zavřít dílčí dialog.

Cancel - zrušit. Nastavit všechny parametry na původní hodnoty a zavřít dílčí dialog.
114
ZODOP
48.7 Úprava objektu
Aby bylo moţno upravovat nějaký objekt, musí být napřed vybrán. To se dělá kliknutím na něj levou
myší tak, aby se vybírací test vyhodnotil kladně. To je signalizováno potvrzením potvrzovacího pole
"Objekt byl vybrán" pod tlačítkem.
V případě, ţe je ve stejném adresáři jako obraz k dispozici databázový soubor se stejným jménem, ale
typu „.dbf“ s údaji o objektech, objeví se v dolní části dialogu jméno objektu z této databáze.
Dialog je rozdělen do čtyř záloţek : Všeobecné, Pero, Štětec a zvláštní záloţka pro daný typ objektu.
V záloţce všeobecné jsou všeobecné vlastnosti objektů:
Výběr - vybráné. Při potvrzení je objekt vybrán pro potřeby knihovny LeadTools.
Clipping - ořezávání. Při potvrzení je kombinace čar označena jako ořezávající. Pro ostatní typy
objektů nelze pouţít.
Rastrová operace. Způsob, jakým je kresba objektu kombinována s kresbou pozadí. Můţe být :
1 - Blackness - černost. Objekt je nakreslen celý černě.
2 - Not Merge Pen - ne přidávací pero. Barva objektu je logicky přičtena k barvě pozadí a pak je
nahrazena doplňkovou barvou.
3 - Mask Not Pen - maskovací ne pero. Barva objektu je nahrazena doplňkovou barvou a pak je logicky
vynásobena barvou pozadí.
4 - Not Copy Pen - ne kopírovací pero. Objekt je nakreslen doplňkovou barvou.
5 - Mask Pen Not - maskovací pero ne. Barva pozadí je nahrazena doplňkovou barvou a pak je logicky
vynásobena barvou objektu.
6 - Invert - inverze. V místě objektu je barva pozadí nahrazena svou dopklňkovou barvou.
7 - Xor Pen - xor pero. Výsledná barva je výhradní logický součet barvy objektu a barvy pozadí bit po
bitu.
8 - Not Mask - ne maskovací pero. Barva objektu je logicky vynásobena barvou pozadí a pak je
nahrazena doplňkovou barvou.
9 - Mask Pen - maskovací pero. Barva objektu je logicky vynásobena barvou pozadí (bit po bitu).
10 - Not Xor Pen ne xor pero. Výsledná barva je doplňková k výhradnímu logickému součtu barvy
objektu a barvy pozadí bit po bitu.
11 - Nop - ţádná činnost. Objekt není nakreslen.
12 - Merge Not Pen - přidávací ne pero. Barva objektu je nahrazena doplňkovou barvou a pak je
logicky přičtena k barvě pozadí.
13 - Copy Pen - kopírovací pero. Objekt zcela překryje pozadí.
14 - Merge Pen Not - přidávací pero ne. Barva pozadí je nahrazena doplňkovou barvou a pak je k ní
logicky přičtena barva objektu.
15 - Merge Pen - přidávací pero. Barva objektu je logicky přičtena k barvě pozadí (bit po bitu).
16 - Whiteness - bělost. Objekt je nakreslen celý bíle.
V záloţce Obrys je moţno nastavit vlastnosti pera, které je pouţíváno na kreslení obrysů objektů :
Styl. Můţe být :
0 - Plná čára.
1 - Čárkovaná čára.
2 - Tečkovaná čára.
3 - Čerchovaná čára.
4 - Dvojitě čerchovaná čára.
5 - Průhledná čára
6 - Uvnitř rámce.
Barva pera.
Šířka pera v jednotkách původních souřadnic obrazu, nikoli v pixelech na obrazovce.
V záloţce výplň je moţno nastavit vlastnosti štětce, který je pouţíván na vyplňování vnitřku objektů :
Styl. Můţe být :
0 - Plný.
1 - Průhledný.
2 - Šrafovaný.
Barva štetce.
Šrafování. Můţe být :
0 - Vodorovné.
1 - Svislé.
ZODOP
115
2 - Dopředné úhlopříčné (šikmé zleva seshora doprava dolu).
3 - Zpětné úhlopříčné (šikmé zleva zdola doprava nahoru).
4 - Kříţové.
5 - Úhlopříčně kříţové.
Pokud je typ obkektu kombinace čar, je moţno zde zvolit pouţití licho-sudého pravidla (Odd/Even
rule) při pouţití štetce, tzn. ţe pokud se čáry kříţí, je vţdy jedna strana vyplněná a druhá nikoli. Pokud
pouţití tohoto pravidla není potvrzeno, je vyplněn celý vniřek.
Další vlastnosti závisejí na typu objektu. Typ objektu je nutno zvolit předem. Můţe být :
1 - 3D vrchol v prostoru,
2 - Úsečka,
3 - Obdélník,
4 - Lomená čára,
5 - Bezierova křivka,
6 - Mnohoúhelník,
7 - Elipsa,
8 - Kruh,
9 - Kruhový oblouk,
10 - Text.
11 - Kruhová výseč,
12 - Kruhová úseč,
13 - Kombinace čar (různých typů),
14 - Rastr,
15 - Objekt z knihovny.
Například vrchol je plně určen souřadnicemi své polohy, zatímco úsečka ja dána souřadnicemi
počátečního a koncového bodu. Podobně obdélník je dán souřadnicemi dvou protilehlých vrcholů. Při
zadávání lomené čáry je potřeba kromě počátečního a koncového bodu zadat i všechny body zlomu
pomocí tlačítka Nový. Podobně při zadávání Beziérovy křivky se zadávají všechny řídící body.
Mnohoúhelník je zadán souřadnicemi svých vrcholů, dále je zde moţno zvolit vyplňovací mód pro
případ, ţe se budou strany mnohoúhelníku kříţit. Volba Střídat znamená, ře vyplněné části se budou
pravidelně střídat s nevyplněnými, volba Zahrnout znamená, ţe všechny oblasti uvnitř mnohoúhelníka
budou vyplněny. Elipsa je zadána souřadnicemi středu a délkou dvou poloos a kruh souřadnicemi
středu a poloměrem. Kruhový oblouk, kruhová výseč a kruhová úseč jsou dány souřadnicemi středu
kruhu, poloměrem, počátečním úhlem a úhlem mezi počátkem a koncem (rozsah). Text je dán
souřadnicemi přidávacího bodu, zněním textu a údajem, zda text má být zarovnán od přidávacího bodu
vodorvně vlevo, vpravo nebo na střed a svisle nahoru. dolu nebo na střed. Dále je moţno zvolit font,
výšku a šířku znaku. Pokud bude výška znaku 0, pouţije se výška zvolená při výběru fontu, pokud bude
šířka 0, pouţije se šířka přiměřená výšce. Při potvrzení políčka "Vybírací obdélník" stačí při vybírání
textu kliknout do obdélníka opsaného textu, jinak se musí kliknout přímo dovnitř některého písmena.
Při potvrzení "Force line/curve rendering" (nutit k přímkovému / křivkovému promítání) se bude text
kreslit jako celek, jinak se knihovna snaţí rozdělit text na kusy a zobrazovat je jako kresby. To má
význam pouze pro fonty, které nejsou True Type. Kombinace čar je podobně jako lomená čára daná
souřadnicemi počátečního a koncového bodu a bodů změny. Na rozdíl od lomené čáry je však moţné
pro kaţdé dva následující body zadat, zda mají být spojeny úsečkou (Kreslit k), Beziérovou křivkou
(Bezier k) nebo nijak (Přesunout k). Při potvrzení políčka "Uzavřený obrazec" bude lomená čára či
Beziérova křivka automaticky uzavřena. Vnořený rastr je dán souřadnicemi levého horního a pravého
dolního rohu opsaného obdélníka a bitmapou, která musí být ve formátu srozumitelném pro knihovnu
LeadTools (coţ nejsou všechny formáty pouţívané ZODOPem) a pouţitý vektorový formát musí
připouštět vnořené rastry (takových je jen menšina). Typ objekt z knihovny není v současé době
implementován.
48.8 Všechny výplně
Zde je moţné nastavit jednotně vlastnosti všech štětců pouţitých v obrazu. na vyplňování vnitřku
objektů :
Styl. Můţe být :
0 - Plný.
1 - Průhledný.
2 - Šrafovaný.
Šrafování. Můţe být :
116
ZODOP
0 - Vodorovné.
1 - Svislé.
2 - Dopředné úhlopříčné (šikmé zleva seshora doprava dolu).
3 - Zpětné úhlopříčné (šikmé zleva zdola doprava nahoru).
4 - Kříţové.
5 - Úhlopříčně kříţové.
Barva štetce.
48.9 Všechny obrysy
Zde je moţné nastavit jednotně vlastnosti všech per, která jsou pouţívána na kreslení obrysů objektů :
Styl. Můţe být :
0 - Plná čára.
1 - Čárkovaná čára.
2 - Tečkovaná čára.
3 - Čerchovaná čára.
4 - Dvojitě čerchovaná čára.
5 - Průhledná čára
6 - Uvnitř rámce.
Barva pera.
Šířka pera. Udává se v jednotkách původních souřadnic obrazu, nikoli v pixelech na obrazovce.
48.10 Zrušit
Zrušit dialog o úpravě vektorových obrazů.
48.11 Nápověda
Zobrazí se nápověda.
49. Vícevrstvý obraz
Zásuvný modul, který umoţňuje zobrazit více obrazů v jednom okně. Pro správné sloţení výsledku jsou
důleţité souřadnice v jednotlivých obrazech. Pokud existuje tzv. tfw soubor, tj. soubor stejného jména
ve stejném adresáři jako soubor s obrazem, lišící se příponou sloţenou z prvního a třetího písmena
přípony obrazového souboru a písmene w (tedy tfw místo tif) nebo příponou txt, který obsahuje lineární
transformaci souřadnic, bere se tato v úvahu při umisťování obrazu do okna. O jeho formátu více
v kapitole Souřadnice. Při začloňování vektorového obrazu se pouţívají přímo souřadnice objektů v
obrazu. Zásuvný modul pouţívá tento dialog:
ZODOP
117
49.1 Seznam vrstev
Pro zobrazení seznamu vrstev je pouţit zdroj typu strom, i kdyţ ve skutečnosti můţe mít pouze jeden
kořen s jednoduchým seznamem větví. Důvodem je usnadnění změny pořadí vrstev. Vrstva, která je ve
stromu nejníţe, se kreslí nejdříve a můţe být zakryta vyššími vrstvami. Vrstvy se do stromu přidávají
pomocí tlačítek Vrsva z obrazu nebo Vrstva z disku. Vyjmout vrstvu z obrazu je moţné tak, ţe ji
napřed zaměříme kliknutím levou myší nebo šipkami nahoru a dolu a pak kliknutím pravou myší a
volbou Vyjmout vrstvu v objevivším se vyskakovacím menu. Vyjmutá vrstva se objeví v samostatném
okně. Smazat vrstvu lze kromě vyskakovacího menu také klávesou Delete. Měnit pořadí vrstev je
moţné buď šipkami nahoru a dolu mačkanými zároveň s klávesou Ctrl, táhnutím levou myší nebo
vhodnou volbou ve vyskakovacím menu získaném kliknutím pravou myší. U kaţdé vrstvy je také
červeně potvrzené políčko. Při zrušení tohoto potvrzení se vrstva přestane zobrazovat, ale zůstává
součástí vícevrstvého obrazu a počítá se s ní při stanovení jeho rozměrů.
49.2 Vrstva z obrazu
Zmáčknutím tohoto tlačítka se obraz označený jako zdrojový (zaměřený, se zvýrazněným titulkem)
začlení do vícevrsvého obrazu. Jeho samostatné okno se přitom zavře.
49.3 Vrstva z disku
Zmáčknutím tohoto tlačítka se objeví dialog pro volbu souborů a zvolené soubory s obrazy se začlení
do vícevrstvého obrazu.
49.4 Uvolnit vrstvy
Uvolnit všechny vrstvy z vícevrstvého obrazu a zavřít ho. Kaţdá vrstva bude otevřena v samostatném
okně.
49.5 Smazat vrstvy
Smazat všechny vrstvy z vícevrstvého obrazu a zavřít ho.
49.6
Spojení vrstev
118
ZODOP
Spojení vrstev do jednoho rastrového obrazu o rozměrech daných v editačních políčcích pod tlačítkem.
Pokud je alespoň jedna vrstva rastrová, jsou implicitní rozměry vypočteny podle rastrové vrstvy
s maximálním rozlišením. Pokud jsou všechny vrstvy vektorové, jsou implicitní rozměry takové, aby
plocha obrazu byla přibliţně512 x 512 = 262 144 pixelů a přitom souhlasil poměr stran. Poměr stran se
zachovává, i kdyţ byla velikost změněna. Pouţije se rozměr, který byl změněn a ten druhý se dopočítá.
Pokud byly změněny oba, pouţije se šířka. Hloubka výsledného obrazu je vţdy 24 bitů na pixel.
49.7 Mnohoúhelníkový mód
Způsob zobrazení mnohoúhelníků ve vektorových vrstvách. Můţe být:
Vykreslit hrany - Kreslí se pouze obrysy mnohoúhelníků.
Vykreslit plochy – Kreslí se celé mnohoúhelníky včetně výplní.
49.8 Zrušit
Zrušit dialog o zobrazení vícevrstvého obrazu. Vícevrstvý obraz přitom bude zavřen a všechny vrstvy
smazány.
49.9 Nápověda
Zobrazí se nápověda.
50. Souřadnice
Tento dialog zásuvného modulu je určen ke sledování uţivatelsky nadefinovaných souřadnic bodů
v obrazu.
50.1 X
Uţivatelská souřadnice X bodu v obrazu. Je počítána
xm  x0  k x x x  k y x y ,
kde x , y jsou obrazové souřadnice. Ostatní konstanty viz Nastavení velikosti pixelu a počátku
souřadnic. Při zmáčknutém levém tlačítku myši se zde objeví vzdálenost od bodu, v němţ bylo tlačítko
zmáčknuto.
50.2 Y
Uţivatelská souřadnice Y bodu v obrazu. Je počítána
ym  y0  k x y x  k y y y ,
kde x , y jsou obrazové souřadnice. Ostatní konstanty viz Nastavení velikosti pixelu a počátku
souřadnic. Při zmáčknutém levém tlačítku myši se zde objeví azimut úsečky spojující aktuální bod
s bodem, v němţ bylo tlačítko zmáčknuto.
50.3 Nastavit kurzor
Nastaví kurzor na bod obrazu s uţivatelskými souřadnicemi přečtenými z editačních okének X a Y.
Pokud bod bude mimo obraz, bude kurzor nastaven na nejbliţší bod v obrazu. Tato funkce nepracuje,
pokud je jakobián transformace souřadnic nulový, tzn. k x x k y y  k y x k x y  0 .
ZODOP
119
50.4 tfw
Pokud existuje soubor se stejným jménem a ve stejném adresáři jako je soubor, ze kterého byl obraz
otevřen, lišící se pouze příponou ‚.tfw„, pokusí se z něho program přečíst konstanty pro přepočet
uţivatelských a obrazových souřadnic. Pokud se v okénku objeví značka x, znamená to, ţe se podařilo
úspěšně přečíst tyto konstanty. V souboru musí být 6 konstant v plovoucí čárce, kaţdá na nové řádce,
v pořadí k x x , k y x , k x y , k y y , x 0 , y0 . Pokud se nepodaří přečíst soubor s příponou ‚.tfw„, pokusí se
program přečíst soubor s příponou „.jgw‟.
50.5 Nastavit
Objeví se dialog umoţňující nastavení konstant pro přepočet uţivatelských a obrazových souřadnic.
50.6 Zavřít
Zavřít dialog o souřadnicích.
50.7 Nápověda
Zobrazí se nápověda.
50.8 Nastavení rozlišení a počátku souřadnic
Dialog umoţňující nastavení konstant pro přepočet uţivatelských a obrazových souřadnic.
50.8.1
Počátek vodorovně
Uţivatelská souřadnice
50.8.2
Počátek svisle
Uţivatelská souřadnice
50.8.3
x 0 levého horního rohu obrazu vodorovně v aktuální jednotce.
y 0 levého horního rohu obrazu svisle v aktuální jednotce.
Velikost X pixelu vodorovně
Skutečný vodorovný rozměr
k x x vodorovné hrany pixelu v aktuální jednotce. Pokud je záporný, rostou
skutečné vodorovné souřadnice zprava doleva, jinak zleva doprava. Viz také Konstanty pro přepočet
souřadnic.
50.8.4
Velikost X pixelu svisle
120
ZODOP
Skutečný svislý rozměr
k x y vodorovné hrany pixelu v aktuální jednotce včetně znaménka. Při
nenatočeném obrazu bude nulový. Viz také Konstanty pro přepočet souřadnic.
50.8.5
Velikost Y pixelu vodorovně
Skutečný vodorovný rozměr
k y x svislé hrany pixelu v aktuální jednotce včetně znaménka. Při
nenatočeném obrazu bude nulový. Viz také Konstanty pro přepočet souřadnic.
50.8.6
Velikost Y pixelu svisle
Skutečný svislý rozměr
k y y svislé hrany pixelu v aktuální jednotce. Pokud je záporný, rostou skutečné
svislé souřadnice zezdola nahoru, jinak seshora dolu. Viz také Konstanty pro přepočet souřadnic.
50.8.7
Konstanty pro přepočet souřadnic
Na následujícím obrázku je znázorněna plocha scény, jehoţ obrazem je 1 pixel snímku.
Obrazec je v naprosté většině případů čtverec, obecně to však můţe být kosodélník. Vzdálenosti se
počítají od vrcholu, který je obrazem levého horního rohu pixelu. Tečky místo šipek se snaţí naznačit,
ţe vzdálenosti jsou orientované, tzn. ţe pokud směr šipky souhlasí se směrem, v němţ chcete aby rostla
příslušná souřadnice, bude vzdálenost zadána kladně, pokud šipka směřuje proti smyslu souřadnice,
bude vzdálenost záporná. Např. chcete-li v daném případě, aby souřadnice rostly zleva doprava a zdola
nahoru, bude k x x kladná a ostatní 3 konstanty záporné. Tímto způsobem je moţno zadat jak
anizotropní hustotu vzorkování jinou vodorovně a jinou svisle, tak otočení obrazu. Vzdálenosti v tfw
souboru jsou v metrech, v dialogu pro nastavení v aktuálních jednotkách.
50.8.8
Jednotka
Jednotka uţivatelských souřadnic, Můţe být kilometr (km), metr (m) nebo jiná, v tom případě je nutno
zkratku jednotky (max. 10 znaků) doplnit do editačního okénka a velikost jednotky v metrech do
dalšího editačního okénka pod ním.
50.8.9
Seznam předvoleb
V tomto listboxu je seznam předvoleb konstant a jednotek. Kliknutím myší na příslušný řádek je moţno
tyto údaje zadat. Tento seznam je vytvořen podle údajů v souboru ‚coord.txt„ dodávaného spolu se
zásuvným modulem, který můţe být změněn (tlačítko Editor).
ZODOP
50.8.10
121
Zápis tfw
Zapíše nastavené hodnoty konstant do souboru tfw. Aby byl tento soubor pouţit pro odečítání
souřadnic, musí být uloţen ve stejném adresáři a pod stejným jménem, lišícím se pouze příponou, jako
je soubor uvedený v obrazu. Jméno obrazu lze zjistit pomocí funkce Informace o obrazu. Proto cesta i
jméno získané ze zdrojového obrazu jsou nastaveny jako implicitní v dialogu pro volbu souboru, který
se objeví.
50.8.11
OK
Zrušit dialog o nastavení rozlišení a počátku souřadnic s potvrzením nastavených hodnot pro obraz
označený jako zdrojový.
50.8.12
Všechny obrazy
Zrušit dialog o nastavení rozlišení a počátku souřadnic s potvrzením nastavených hodnot pro všechny
právě otevřené obrazy.
50.8.13
Zrušit
Zrušit dialog o nastavení rozlišení a počátku souřadnic.
50.8.14
Nápověda
Zobrazí se nápověda.
50.8.15
Editor
Umoţní editovat soubor, podle kterého je vytvořen seznam předvoleb (viz Formát souboru se
seznamem předvoleb). Změny se projeví aţ při novém volání dialogu pro nastavení rozlišení a počátku
souřadnic.
50.8.16
Formát souboru se seznamem předvoleb
Na první řádce je krátké shrnutí formátu. Tato řádka je ignorována. Na dalších řádkách je vţdy na
začátku řetězec vyjadřující jednotku, „km“ je chápán jako kilometr, „m“ jako metr a ostatní řetězce jsou
chápány jako zkratky jiné jednotky, v tom případě následuje velikost jednotky v metrech oddělená
mezerou. Následuje jedno aţ šest čísel oddělených mezerami, vyjadřující nastavované konstanty
v pořadí velikost X pixelu vodorovně, velikost Y pixelu svisle, velikost Y pixelu vodorovně, velikost X
pixelu svisle, počátek vodorovně a počátek svisle, tedy k x x , k y y , k y x , k x y , x 0 , y0 . Implicitně je
velikost X pixelu vodorovně stejná jako velikost Y pixelu svisle, velikost Y pixelu vodorovně stejně
jako velikost X pixelu svisle je nulová a počátek není nastavován. Následuje středník (;) a zbytek řádky
je chápán jako popis předvolby, který se objeví v seznamu.
51. Jas a kontrast
Tento zásuvný modul slouţí k lineární změně jasu a kontrastu obrázku, coţ znamená přičíst k obrázku
konstantu nebo násobit obrázek konstantou. Proto by název dialogu mohl znít také Operace
s konstantou.
Změny se provádějí nejprve pouze v paletě, teprve při zmáčknutí tlačítka Pouţij se mění hodnoty
pixelů. Ve 24-bitovém RGB módu se však změny palety neprojeví ve změně zobrazení, proto se
výsledek objeví aţ po zmáčknutí tohoto tlačítka.
122
ZODOP
51.1 Jas
K obrázku se přičte konstanta q . Nová hodnota 1 sloţky palety
Cn  k  C  q ,
kde k je hodnota parametru Kontrast, C je hodnota sloţky v původní paletě. Neceločíselné hodnoty
jsou zaokrouhleny, hodnoty větší neţ maximální hodnota se nahradí maximální hodnotou a hodnoty
menší neţ minimální hodnota se nahradí minimální hodnotou.
51.2 Kontrast
Obrázek se vynásobí konstantou k . Nová hodnota 1 sloţky palety
Cn  k  C  q ,
kde q je hodnota parametru Jas, C je hodnota sloţky v původní paletě. Neceločíselné hodnoty jsou
zaokrouhleny, hodnoty větší neţ maximální hodnota se nahradí maximální hodnotou a hodnoty menší
neţ minimální hodnota se nahradí minimální hodnotou.
51.3 Pouţij
Hodnoty pixelů se přepočítají podle nastavených změn jasu a kontrastu. Nová hodnota pixelu
fn  k  f  q ,
kde k je hodnota parametru Kontrast, q je hodnota parametru Jas a f je uţivatelský hodnota pixelu.
Neceločíselné hodnoty jsou zaokrouhleny, hodnoty větší neţ maximální hodnota se nahradí maximální
hodnotou a hodnoty menší neţ minimální hodnota se nahradí minimální hodnotou. Nakonec je dialog
zrušen.
51.4 OK
Zrušit dialog o změně jasu a kontrastu, přičemţ změny palety platí a zůstanou zachovány.
51.5 Zrušit
Zrušit dialog o změně jasu a kontrastu i změny palety.
51.6 Nápověda
Zobrazí se nápověda dialogu.
51.7 Soubory
Po zmáčknutí tohoto tlačítka se objeví dialog pro volbu souborů s moţností volby více souborů
najednou a na obrazech ve zvolených souborech se změní jas a kontrast podle parametrů zvolených v
dialogu. Vedle tlačítka se v okénku objevuje počet uţ zpracovaných souborů.
ZODOP
123
52. Hlavní komponenty
Výpočet hlavních komponent je určen pro redukci dat více obrazů téţe scény, lišících se zpravidla
snímaným spektrálním pásmem. Tyto obrazy se nazývají kanály. Mohou to být také jednotlivé barevné
sloţky obrazu v RGB módu. Výsledné hlavní komponenty (zkráceně komponenty) se počítají jako
lineární kombinace kanálů. Jako koeficienty lineárních kombinací se pouţívají členy vlastních vektorů
kovarianční matice
mc 1mr 1
1 mc 1mr 1
1 mc 1mr 1
cij 
  f i ( x, y) f j ( x, y)  t (t 1) 
 f i ( x, y) 
 f j ( x, y) ,
t  1 x 0 y  0
x 0 y 0
x 0 y 0
kde f i ( x , y ) je i-tý kanál v bodě (x,y), mc a mr jsou rozměry kanálů, t  mc  mr .
Komponenty jsou seřazeny podle velikosti odpovídajících vlastních čísel kovarianční matice. Násobící
konstanta je volena tak, aby první komponenta měla rozsah hodnot 255, ostatní komponenty ji mají
stejnou, přičítací konstanta je volena pro první komponentu tak, aby posunula hodnoty do rozsahu 0 aţ
255, u ostatních tak, aby střední hodnota byla 127.
Protoţe se předpokládá velký rozsah dat, který se často nevejde najednou do paměti, můţe výpočet
probíhat v souborech. Kanály pak musí být uloţeny ve formátu holá data a musí ke kaţdému existovat
tzv. siz soubor, který lze vytvořit v dialogu Formát holá data. Ve stejném formátu jsou potom uloţeny i
komponenty. Zde je dialogové okno:
52.1 Seznam vstupních kanálů
Okno se seznamem vstupních kanálů.
52.2 Smazat poloţky
Poloţky vybrané v seznamu vstupních kanálů jsou z tohoto seznamu vypuštěny.
124
ZODOP
52.3 Výběr vstupních kanálů
Zdrojový obraz je přidán do seznamu vstupních kanálů. Pokud je 24-bitový nebo 32-bitový, jsou
přidány jeho barevné sloţky jako 3 kanály. Při práci v souboru jsou vybrané siz soubory přidány do
seznamu vstupních kanálů.
52.4 Výpočet koeficientů
Proběhne výpočet koeficientů lineárních kombinací kanálů. Berou se při něm v úvahu parametry
Vzorkování při výpočtu koeficientů, Posun vodorovně a Posun svisle. Výsledky jsou uloţeny do
souboru s koeficienty.
52.5 Výpočet komponent
Proběhne výpočet komponent podle koeficientů ze souboru s koeficienty. Počet komponent můţe být
nejvýše roven počtu vstupních kanálů. Lze ho zredukovat vyplněním parametru Počet výstupních
komponent. Při práci v souboru jsou výsledné komponenty uloţeny do souborů se jmény vytvořenými
podle vzoru jmen výstupních souborů přidáním pořadového čísla komponenty.
52.6 Zobrazit koeficienty
Ve zvláštním okně se zobrazí obsah souboru s koeficienty. Má tento formát:
Na prvním řádku je nejprve počet kanálů, následují vlastní čísla odpovídající jednotlivým
komponentám. Jejich velikost odpovídá významu komponenty. Na dalších řádcích jsou koeficienty a to
na (i+1)-tém řádku koeficienty i-té komponenty a v j-tém sloupci koeficienty j-tého kanálu. Na konci
řádku je přičítací konstanta.
52.7 Zavřít
Zavřít dialog o hlavních komponentách.
52.8 Nápověda
Zobrazí se nápověda dialogu.
52.9 Vzorkování při výpočtu koeficientů
Pokud bude vyplněn tento parametr číslem v, bude při výpočtu koeficientů pouţit pouze kaţdý v-tý
pixel. Při práci v souboru bude toto vzorkování pouţito místo vzorkování uvedeného v siz souborech
kanálů. Při výpočtu komponent se uvaţují pouze údaje ze siz souborů.
52.10 Posun vodorovně a svisle
Pokud bude při výpočtu koeficientů pouţito vzorkování v, je moţné zde vyplnit souřadnice prvního
vzorku v rozsahu 0 aţ v-1. To slouţí k určení přesného posunu vzorku při vzorkování. Porovnáním
výsledků s různým posunem se dá posoudit ztráta přesnosti způsobená řidším vzorkováním. Při práci
v souboru se tyto parametry se přičítají k počátku výřezu vodorovně a svisle v siz souboru kanálu.
52.11 Počet výstupních komponent
Tímto parametrem je moţné zredukovat mnoţství počítaných komponent. Čísla menší neţ jedna nebo
větší neţ počet kanálů nebudou brána v úvahu.
52.12 Práce v souboru
Při potvrzení tohoto tlačítka probíhá výpočet v souboru, tzn. vstupní kanály musí být uloţeny ve
formátu holá data včetně příslušného siz souboru a výstupní komponenty jsou opět uloţeny do souboru
v tomto formátu. V opačném případě se jako vstupy pouţívají otevřené obrazy a výstupy jsou opět
vytvořeny pouze jako výstupy. Při potvrzování nebo rušení potvrzení je smazán seznam kanálu, protoţe
v obou případech se jedná o jiný typ dat.
52.13 Zobrazit vstupy
Pokud lze kanály umístit do paměti, je moţné je zobrazit tímto tlačítkem.
ZODOP
125
52.14 Zobrazit výstupy
Pokud lze komponenty umístit do paměti, je moţné je zobrazit tímto tlačítkem.
52.15 Obraz -> kanál
Zdrojový obraz je zapsán do souboru ve formátu holá data a to pod zvoleným jménem a do zvoleného
adresáře. Do stejného adresáře je uloţen i odpovídající siz soubor. Tento siz soubor je pak přidán do
seznamu vstupních kanálů. V případě, ţe zdrojový obraz je barevný ve 24-bitovém formátu, jsou
vytvořeny 3 siz soubory a všechny jsou přidány do seznamu vstupních kanálů. Jejich jména jsou
odvozena od zvoleného jména obrazového souboru přidáním koncovek „_R“, „_G“ a „_B“.
52.16 Editace siz
Zavolá se textový editor na siz soubory vybrané v seznamu vstupních kanálů. Protoţe vybraných
poloţek můţe být více, volá se textový editor v inicializačním souboru uvedený jako vícesouborový.
Viz také formát siz souboru.
52.17 Soubor s koeficienty
Jméno souboru , do kterého se zapíší vypočtené koeficienty lineárních kombinací.
52.18 Výběr
Výběr souboru s koeficienty pomocí dialogu.
52.19 Vzor jmen výstupních souborů
Pokud je vzor jmen dostatečně krátký (v současné době je limit 128 znaků), vytvoří se výstupní jména
přidáním čísla komponenty, jinak se číslem komponenty přepíše konec vzoru. Pokud vzor končí číslicí,
přepíše se také, takţe pokud zvolíte jednu z prvních devíti dříve vypočtených komponent jako vzor,
budou tyto komponenty přepsány novým výsledkem. Doporučuje se nepouţívat vzory končící více
číslicemi.
52.20 Výběr
Výběr souboru slouţícího jako vzor jmen komponent pomocí dialogu.
53. Přidat šum
Umoţní přidat šum do zdrojového obrazu.
53.1 Gaussův
Přičtený šum bude mít Gaussovo rozloţení s nulovou střední hodnotou a standardní odchylkou
Hustota bude
.
126
ZODOP
f ( x) 

1
2
e
x2
2
53.2 Rovnoměrný
Přičtený šum bude mít rovnoměrné rozloţení s nulovou střední hodnotou a standardní odchylkou
Hustota bude v pásmu od
.
 3 do  3
f ( x) 
1
2 3
jinde bude nulová.
53.3 Náhodný
Při kaţdém volání se pouţije jiná realizace přičteného šumu. Toho se dosáhne inicializací generátoru
pseudonáhodných čísel funkcí randomize.
53.4 Definovaný
Při kaţdém volání se pouţije stejná realizace přičteného šumu. Toho se dosáhne inicializací generátoru
pseudonáhodných čísel funkcí srand s parametrem 1.
53.5 Standardní odchylka
Standardní odchylka vytvořeného šumu.
53.6 OK
Přičíst šum k obrazu. Pokud výsledná hodnota bude menší neţ nula, bude nahrazena nulou, hodnoty
větší neţ 255 budou nahrazeny touto hodnotou.
53.7 Zavřít
Zavřít dialog o přidávání šumu do obrazu.
53.8 Nápověda
Zobrazí se nápověda.
53.9 Soubory
Po zmáčknutí tohoto tlačítka se objeví dialog pro volbu souborů s moţností volby více souborů
najednou a do obrazů ve zvolených souborech se přidá šum podle parametrů zvolených v dialogu.
Vedle tlačítka se v okénku objevuje počet uţ zpracovaných souborů.
54. Vyváţení bílé
Tento modul je určen pro dodatečné vyváţení bílé ve fotografiích, kde se to nepodařilo udělat při
snímání, a ve kterých převládá jeden tón barvy.
ZODOP
127
Vyváţení je moţné provést dvěma způsoby, automaticky najít nejsvětlejší bod nebo ručně zadat barvu,
která se má změnit na bílou.
54.1 Nejsvětlejší bod
Nalézt v obrazu bod s nejvyšším jasem. Pokud je v obrazu takových bodů více, pouţije se ten s nejniţší
sytostí, pokud má více bodů stejný jas i sytost, pouţije se ten s nejniţším tónem. Bod s nejvyšším jasem
a nejniţší sytostí má nejmenší odchylku od bílé, proto se předpokládá, ţe je nejsprávnější, pravidlo o
nejniţším tónu je zde čistě kvůli odstranění nejednoznačnosti. Barva nalezeného bodu se pouţije jako
návrh barvy, která se přepočte na bílou.
54.2 Stará bílá
Barva, která se tlačítkem „Provést“ přepočte na bílou. Je moţno jí zvolit buď v dialogu vyvolaném
stejnojmenným tlačítkem, vyplnit číselně její červenou, zelenou a modrou sloţku do editačních políček
vlevo od tlačítka, nebo, při potvrzení „Snímat myší“, kliknout do obrazu levou myší a přenést sem
barvu pod kurzorem. Také se zde objeví barva bodu nalezeného tlačítkem „Nejsvětlejší bod“. Implicitní
barva je černá, ale nedoporučuje se jí zde ponechat, jinak by se celý obraz vyplnil černě.
54.3 Nová bílá
Barva, na kterou se tlačítkem „Provést“ přepočte „Stará bílá“. Je moţno jí zvolit buď v dialogu
vyvolaném stejnojmenným tlačítkem nebo vyplnit číselně její červenou, zelenou a modrou sloţku do
editačních políček vlevo od tlačítka. Implicitní barva je bílá, ale na rozdíl od staré bílé se nedoporučuje
aţ na vyjímky jí měnit. Vyjímkou můţe být volba světle šedé, kdyţ nechceme příliš velké vybělení
obrazu, nebo případ, kdy se v obrazu bílá barva nevyskytuje, ale známe přesně poţadovanou barvu
nějakého předmětu v obrazu.
54.4 Provést
Provést přepočet barev v obrazu tak, aby se „Stará bílá“ změnila na „Novou bílou“. Přepočítává se
lineárně bez posunu, červená, zelená a modrá sloţka zvlášť, tzn. černá zůstane černá. Pokud některá
sloţka přesáhne 255, nahradí se touto hodnotou.
54.5 Zavřít
Zavřít dialog o přidávání šumu do obrazu.
54.6 Soubory
Po zmáčknutí tohoto tlačítka se objeví dialog pro volbu souborů s moţností volby více souborů
najednou na obrazech ve zvolených souborech se změní vyváţení bílé podle parametrů zvolených v
dialogu. Vedle tlačítka se v okénku objevuje počet uţ zpracovaných souborů.
55. Průchod nulou
128
ZODOP
Tento modul slouţí spolu s konvoluční filtrací k detekci hran.
Nejprve je nutné vyfiltrovat obraz pomocí konvoluční filtrace některým z filtrů typu Marr. Tyto filtry
jsou digitalizovanou verzí spojitého filtru
2
2
x 2  y 2  2 2  x  2y
2
4

e
Velikost centrální oblasti filtru o průměru 2 2 by měla zhruba odpovídat minimální velikosti
detailů, jejichţ hrany chcete detekovat. Místo těchto filtrů je moţné pouţít jinou kombinaci
vyhlazujícího a druhoderivačního filtru. Na výsledek se potom pouţije tento modul. Aby bylo moţné
uloţit záporné hodnoty, přičítá se k obrázku 128.
Modul hledá průchody signálu nulou. Má parametr s , vyjadřující minimální strmost detekované hrany
v úrovních na pixel. Vstupní hodnoty se získají odečtením 128 od obrazu. Hrana je detekována, pokud
je vstupní hodnota nula a v 8-okolí je alespoň jedna hodnota větší nebo rovna s a alespoň jedna
hodnota menší nebo rovna s nebo pokud je vstupní hodnota různá od nuly a v jejím 4-okolí je
alespoň jedna hodnota s opačným znaménkem, s větší absolutní hodnotou (v případě kladných hodnot
se připouští i rovnost) a s absolutní hodnotou rozdílu větší nebo rovnou s . Na místa s detekovanou
hranou je ve výsledku uloţena hodnota 255, jinde 0.
Maximální strmost hrany v obrazu filtrovaném Marrovým filtrem je přibliţně rovna maximálnímu
rozdílu úrovní ve vstupním obrazu dělenému 2 . Hodnoty parametru s má proto smysl volit
v rozmezí od nuly do této hodnoty.
56. Fázová korelace
Tento zásuvný modul se pokouší registrovat snímky lišící se podobnostní transformací, tzn. posunutím,
otočením a změnou měřítka. K výpočtu otočení a změny měřítka pouţívá výpočet korelace pomocí
rychlé Fourierovy transformace v logaritmicko-polárních souřadnicích, někdy téţ zvané FourierovaMellinova transformace. Zvlášť se pak počítá posunutí pomocí normální korelace. Při volání dialogu se
obraz ozačený jako druhý pouţije jako referenční a zdrojový obraz jako vstupní. Zásuvný modul se
ovládá pomocí tohoto dialogu :
56.1 Otočení od -90° do 90°
ZODOP
129
Pokud je toto tlačítko potvrzeno, pak algoritmus předpokládá, ţe otočení připojovaného obrazu
vzhledem referenčnímu leţí v intervalu -90° aţ 90°. Pro zjištěný úhel otočení a se pak jiţ neprovádí test
výsledku fázové korelace pro otočení a+180°. V opačném případě se pomocí porovnání výsledků
fázových korelací pro úhly a a a+180° vybere výsledný úhel otočení. Protoţe otočení většiny
registrovaných dvojic obrazů leţí v uvedeném intervalu, je toto tlačítko implicitně potvrzeno.
56.2 Pyramidální registrace
Při potvrzení tohoto tlačítka se při výpočtu pouţije pyramidální algoritmus, tzn. ţe se výpočet provede
nejprve na velmi zmenšených snímcích a teprve v případě potřeby se zpřesňuje. Hierarchická úroveň,
ve které se algoritmus právě nachází, je zobrazována v dolní části dialogu. V některých případech můţe
být pyramidální registrace i několikanásobně rychlejší neţ původní ne-pyramidální verze registračního
algoritmu. Z důvodů moţné menší přesnosti nalezených parametrů však není tato volba implicitně
zvolena.
56.3 Typ filtrace
Pokud necháme tlačítko "Pouze zero-padding (bez Hanningova okna)" nepotvrzené, bude se periodická
hladkost obrazu zajišťovat pomocí filtrace s Hanningovým oknem. V opačném případě se pouze
obklopí původní obrazy okrajovými oblastmi s nulovými hodnotami, tedy provede se pouze zeropadding. V tomto případě jsou k dispozici dvě editační pole "S zero pad" respektive "T zero pad", ve
kterých je moţno zvolit velikost koeficientu prodlouţení rozměrů registrovaných obrazů pro algoritmus
fázové korelace, která se pouţívá pro zjištění změny měřítka (Scale) a vektoru posunutí (Translation).
V případě fázové korelace, která se provádí v logaritmicko-polárních souřadnicích, bude koeficient
prodlouţení osy logaritmické vzdálenosti roven součinu rozměru této osy a hodnoty editačního pole "S
zero pad". V případě všech ostatních přímých Fourierových transformací prováděných registračním
algoritmem bude koeficient prodlouţení rozměrů obou os registrovaných obrazů roven součinu daného
rozměru a hodnoty uvedené v editačním poli "T zero pad". V tomto případě by měl být koeficient
prodlouţení větší nebo roven maximálnímu počtu pixelů, o který jsou registrované obrazy v
horizontálním a vertikálním směru navzájem posunuty. Ve většině případů se osvědčilo nastavení 0.3
pro pole "T zero pad" a 0.4 pro "S zero pad". Doba provádění celého algoritmu registrace je při pouţití
zero-paddingu delší neţ v případě filtrace Hanningovým oknem, neboť se Fourierova transformace
provádí na obrazy, jejichţ rozměry jsou zvětšeny k koeficient prodlouţení. Implicitně se proto provádí
filtrace Hanningovým oknem.
56.4 Výsledek
Zde se zobrazuje výsledek, jednotlivá políčka Rot, Scale, tx a ty představují parametry, o kolik se má
připojovaný obraz otočit, zvětšit, respektive zmenšit a posunout, aby se mohl připojit k referenčnímu
obrazu. Kladným se zde označuje otočení proti směru hodinových ručiček. Pole "Pst %" zobrazuje míru
pravděpodobnosti v rozsahu 0% aţ 100%, se kterou lze prohlásit nalezenou podobnostní transformaci
za korektní. Tato hodnota se vypočítává z velikosti fázovou korelací nalezeného maxima korigovaného
vzhledem k rozměrům obrazů. Z důvodů různého vzájemného posunutí obrazů se ukázalo jako obtíţné
určit prahovou hodnotu, nad kterou by jiţ bylo moţno prohlásit nalezenou podobnostní transformaci za
korektní. Jako přibliţnou hodnotu pro tento práh lze povaţovat hodnotu 10%. V poli Čas je zobrazena
doba provádění výpočtu registrace vyjádřená v minutách a vteřinách.
56.5 Soubor s vlícovacími body
Toto editační pole obsahuje název souboru s vlícovacími body, do kterého se uloţí výsledek registrace,
tj. parametry nalezené podobnostní transformace. Při spuštění modulu je jako název souboru s
vlícovacími body nastaveno jméno souboru s referenčním obrazem, k němuţ je přidána přípona ".vli".
56.6 Provést
Spuštění výpočtu parametrů podobnostní transformace mezi zdrojovým a druhým obrazem.
56.7 Zrušit
Zrušit dialog o spojování obrazů.
130
ZODOP
56.8 Výběr
Tímto tlačítkem lze zvolit soubor s vlícovacími body, do kterého se uloţí výsledná podobnostní
transformace. Při spuštění je jako název souboru s vlícovacími body nastaveno jméno referenčního
obrazu s příponou ".vli".
56.9 Nápověda
Zobrazí se nápověda dialogu.
56.10 Právě prováděná operace
Zde se zobrazuje název právě prováděné operace. Pokud se provádí pyramidální registrace, pak je zde
zobrazena také úroveň hierarchie, ve které se registrace právě provádí
57. Detekce rohů
Tento zásuvný modul jednak detekuje rohy v obrazech, jednak mezi nalezenými rohy ze dvou obrazů
hledá korespondenci. Rohy s nalezenou korespondencí je moţno vyuţít jako vlícovací body pro
registraci obrazu. Zde je dialogové okno :
57.1 Parametry metody
Pouţitá metoda má řadu parametrů:




Počet hledaných bodů: n
Poloměr okolí pro výpočet statistiky: m
Poloměr okolí pro výpočet změn znaménka: r
Minimální vzdálenost mezi rohem a přímkou: s
ZODOP






131
Interval úhlu mezi hranami z rohu [°]: da
Maximální odchylka křivosti přímek [°]: ds
Minimální vzdálenost mezi rohy: t
Poloměr okolí pro test korespondence: c
Maximální odchylka na vlícovacích bodech: v
Poloměr okolí pro zpřesňování: z
Vzdálenosti jsou v pixelech. Většina implicitních hodnot byla nalezena jako optimální při četných
pokusech a nemá smysl je měnit. Vyjímkou je počet hledaných bodů n, který je dobré u větších obrazů
zvýšit a poloměr okolí pro test korespondence c, kde se někdy stává, ţe pro implicitní hodnotu 60
pixelů nedostaneme správný výsledek, zatímco pro jinou hodnotu ano. Smysluplné hodnoty leţí zhruba
v intervalu 20 aţ 90.
57.2 Zápis souřadnic rohů do souboru
Souřadnice nalezených rohů jsou zapsány do souboru uvedeného pod tlačítkem. Na první řádce je číslo
nula a počet rohů a na dalších řádkách jsou nalezené souřadnice. Při zmáčknutí tlačítka Vlícovací body
jsou do tohoto souboru zapsány souřadnice vlícovacích bodů ve formátu pro stejnojmennou funkci.
Soubor je moţno zvolit téţ tlačítkem Výběr. Není-li ţádný soubor zvolen, je pouţit implicitní
corners.txt nebo corners.vli pro vlícovací body.
57.3 Editace
Soubor se souřadnicemi bodů uvedený pod tlačítkem je otevřen v textovém editoru.
57.4 Metoda detekce rohů
Metoda detekce rohů můţe být


ZOI
Harris
Metoda ZOI vypočte střední hodnotu
g i, j  
a rozptyl
W i, j  
1
 m2
 f k , l  ,
i , j , m
  f k , l   g i, j 2 .
i , j , m
f(k,l) je hodnota obrazové funkce v bodě (k,l),
 i , j ,m je kruhové okolí bodu (i,j) o poloměru m. Kolem
kaţdého bodu je zkonstruována kruţnice o poloměru r, od hodnot obrazové funkce na této kruţnici je
odečtena střední hodnota g(i,j) a je spočten počet změn znaménka rozdílu na kruţnici. Pokud jsou
nalezeny 2 změny znaménka a odchylka úhlu mezi nimi od 90° je menší neţ da, je bod označen za
kandidáta na roh.
Během fáze hledání rohů jsou eliminováni ti kandidáti, v jejichţ okolí o poloměru s je jiný bod, kde
počet změn znaménka je 2 a odchylka úhlu mezi nimi od 180° je menší neţ ds.
Nakonec se vybere n kandidátů s největší absolutní hodnotou rozptylu W(i,j). Po nalezení kaţdého
maxima je jeho okolí vynulováno, tím je zajištěno, ţe ţádné nalezené rohy nebudou blíţe sobě neţ t.
Harrisova metoda detekuje rohy v místech lokálních minim funkce
F  x, y  
f x2  f y2

f x2 f y2  f x f y

2
,
kde čára nad symbolem značí střední hodnotu v kruhovém okolí bodu (x,y) o poloměru m. Indexy značí
derivaci v příslušném směru. Vybere se n kandidátů s nejmenší hodnotou funkce F(x,y). Po nalezení
kaţdého minima je jeho okolí vynulováno, tím je zajištěno, ţe ţádné nalezené rohy nebudou blíţe sobě
neţ t.
132
ZODOP
57.5 Zobrazit výsledek v obrazu
Při potvrzení se vytvoří kopie vstupního obrazu a v něm jsou kříţky vyznačeny detekované rohy. Při
zmáčknutí tlačítka Vlícovací body jsou vyznačeny pouze rohy, k nimţ se podařilo nalézt
korespondenci. První dva body s nejsilnější korespondencí, které řídí další hledání jsou vyznačeny
větším kříţkem. Kříţky mají aktuální barvu.
57.6 Invarianty pro test korespondence
Pro test korespondence je moţno zvolit jednu ze sad invariantů vůči
 Otočení
 Otočení + rozmazání
Sada invariantů vůči otočení obsahuje 6 podobnostních momentových invariantů 2. a 3. řádu, sada
invariantů vůči otočení a rozmazání obsahuje 17 momentových invariantů vůči podobnostní
transformaci a konvoluci středově symetrickou maskou, invarianty jsou 3., 5. a 7. řádu.
57.7 Detekce rohů
Provede se detekce rohů ve zdrojovém obrazu.
57.8 Vlícovací body
Provede se detekce rohů ve zdrojovém a druhém obrazu. Poté se mezi nimi hledá korespondence.
Spočtou se hodnoty invariantů v okolí kaţdého bodu o poloměru c a najde se dvojice bodů, kaţdý
z jednoho obrazu, jejichţ hodnoty invariantů se liší nejméně. Poté se hledá další dvojice s minimální
odchylkou invariantů, přičemţ se preferují dvojice, jejichţ rozdíl vzdáleností od bodů první dvojice
v obou obrazech je menší neţ 10%. Tyto dvě dvojice vlícovacích bodů umoţňují spočítat parametry
podobnostní transformace, podle které se potom transformují ostatní body z prvního obrazu do druhého
a hledají se páry nejbliţších bodů. Hledání končí, kdyţ se buď najde n párů bodů nebo nelze nalézt
ţádnou další dvojici bodů bliţších neţ v.
Je moţné také zvolit zpřesňování, kdy při nalezení kaţdé dvojice bodů se ještě zkoumá, zda v okolí
bodu z prvního obrazu o poloměru z není bod, pro který by odchylky invariantů byly menší neţ pro
původní bod. Toto zpřesňování je však časově poměrně náročné a ve většině případů nejsou výsledky o
mnoho lepší, proto je implicitně zpřesňování vypnuto volbou z=0.
Souřadnice bodů s nalezenou korespondencí jsou zapsány do souboru uvedeném dole v dialogu a to ve
formátu pro funkci Vlícovací body (viz). Soubor je moţno zvolit téţ tlačítkem Výběr. Není-li ţádný
soubor zvolen, je pouţit implicitní corners.vli.
57.9 Barva značek
Je zavolán dialog pro volbu aktuální barvy, která se potom pouţije při kreslení značek.
57.10 Zavřít
Zavře se dialog o detekci rohů.
57.11 Nápověda
Zobrazí se nápověda dialogu.
58. Animovaný GIF
Tento zásuvný modul slouţí pro práci s jednoduchými animovanými obrázky ve formátu GIF, verze
89a. Je kombinovaný, tzn. je ho moţné volat jako výkonný z menu i pouţít jako formátový pro
otevírání obrázků v příslušném formátu. Při volání z menu se objeví tento dialog:
ZODOP
133
58.1 Animovat
Animovat zvolený GIF soubor (parametr Jméno souboru), tzn. číst soubor neustále opakovaně a
provádět i řídící povely jako je zpoţdění. Pokud soubor neobsahuje ţádost o uţivatelský vstup, končí
animace zmáčknutím libovolné klávesy či tlačítka myši (s vyjímkou NumLock, CapsLock a
ScrollLock). Pokud program narazí na ţádost o uţivatelský vstup, lze animaci ukončit pouze odpovědí
ano na dotaz Ukončit operaci ?
58.2 Rozfázovat
Zobrazit obrazovou informaci ze zvoleného GIF souboru (parametr Jméno souboru) a to kaţdý obraz
do nového okna. Je-li navíc potvrzeno tlačítko Vytvořit záznam, zapíše se neobrazová informace do
souboru se stejným jménem a ve stejném adresáři jako GIF soubor lišícího se pouze příponou .log. Po
provedení potřebných změn, během kterých se nesmí ţádný obraz zavřít a nesmí se porušit syntaxe
záznamu, lze sestavit GIF soubor znovu pomocí tlačítka GIF podle záznamu.
58.3 Vytvořit záznam
Je-li potvrzeno toto tlačítko, zapíše se při operacích Animovat a Rozfázovat neobrazová informace
zvoleného GIF souboru do souboru se stejným jménem a ve stejném adresáři jako GIF soubor lišícího
se pouze příponou .log. Po provedení potřebných změn, během kterých se nesmí ţádný obraz zavřít a
nesmí se porušit syntaxe záznamu, lze sestavit GIF soubor znovu pomocí tlačítka GIF podle záznamu.
Pro tento účel je nutné vytvořit záznam pomocí Rozfázovat, protoţe pak jsou k dispozici všechny
obrazy i se správnými jmény. Tlačítkem Editor je pak moţno zavolat editor, který umoţní provést
poţadované změny v záznamu.
58.4 Formát záznamu o GIF souboru
Záznam do jisté míry kopíruje strukturu GIF souboru. Prázdné řádky, mezery a tabulátory na začátku
řádek jsou vynechávány.
V dalším výkladu obsah mezi znaky < a > je nepovinný, znak | znamená, ţe jedna z alternativ musí
nastat. Kurzíva znamená, ţe řetězec je nahrazen aktuálním údajem. #ni je zkratka pro celé číslo, #nf pro
číslo v plovoucí čárce. První neprázdná řádka obsahuje:
Verze:<GIF87a>|<GIF89a>
přičemţ při operaci GIF podle záznamu musí být verze GIF89a. Na dalších řádkách je:
Šířka okna: #ni
Výška okna: #ni
134
ZODOP
Bitů na pixel: #ni
<<Setříděná globální paleta o velikosti: #ni>|<Globální paleta o velikosti: #ni>uloţená v obrázku:
jméno souboru:#ni>
Index barvy pozadí: #ni
Poměr stran #nf:#nf
\kb
Číslo za jménem souboru je pořadí obrázku mezi obrázky se stejným jménem. \kb je zkratka pro konec
bloku. Dále mohou následovat rozšiřovací a obrazové bloky, které se mohou různě střídat. Rozšiřovací
blok můţe být Komentář, Řídící blok grafiky, Blok aplikace a Text v obrázku. Syntaxe:
Komentář::
text komentáře
\kb
Řídící blok grafiky
<Ţádné odstranění dat není specifikováno>|<Neodstraňovat data>|<Obnovit barvu pozadí>|<Obnovit
předchozí obsah>|<Neznámá metoda odstranění dat>
<Čeká se na uţivatelský vstup>
Zpoţdění: #nf s
<Index průhledné barvy: #ni>
\kb
Blok aplikace
Jméno a kód aplikace
data aplikace
\kb
Text v obrázku:
Levý okraj textu: #ni
Horní okraj textu: #ni
Šířka textu: #ni
Výška textu: #ni
Šířka buňky textu: #ni
Výška buňky textu: #ni
Index barvy textu: #ni
Index barvy pozadí: #ni
text
\kb
Poznámky: Ze jména a kódu aplikace se pouţije prvních 11 znaků. Data aplkace jsou dvojice
hexadecimálních číslic, kaţdá dvojice určuje obsah jednoho bajtu. Obrazový blok má syntaxi:
Obrázek č. #ni : jméno: #ni
Levý okraj: #ni
Horní okraj: #ni
Šířka: #ni
Výška: #ni
<Obrázek je prokládaný>
<<Setříděná lokální paleta o velikosti: #ni>|<Lokální paleta o velikosti: #ni>>
\kb
58.5
Jméno zdrojového obrazu
V tomto okénku se objevuje jméno zdrojového obrazu včetně pořadí mezi obrazy stejného jména. Podle
rozměru a vybrané oblasti zdrojového obrazu se nastavují parametry Poeátek, Velikost okna/buňky a
Velikost obrazu/textu Vodorovně a Svisle.
58.6 GIF podle záznamu
Vytvoří soubor ve formátu GIF podle záznamu uloţeném ve stejném adresáři a pod stejným jménem
lišícím se pouze příponou .log. Chcete-li něco změnit v existujícím souboru GIF, potvrďte tlačítko
Vytvořit záznam a zmáčkněte tlačítko Rozfázovat. Obrazová informace se uloţí do obrazů a
neobrazová do souboru typu .log. Proveďte potřebné změny a soubor znovu sestavte tímto tlačítkem
GIF podle záznamu.
58.7 Zapsat hlavičku
ZODOP
135
Zapsat hlavičku do vytvářeného souboru GIF. Pouţívá parametry Jméno souboru, Velikost okna/buňky,
Poměr stran, Index barvy pozadí, Zapsat globální paletu a Setřídit paletu. V případě potvrzení Zapsat
globální paletu zapíše do hlavičky paletu zdrojového obrazu a v případě potvrzení Setřídit paletu ji
setřídí podle četnosti výskutu jednotlivých indexů ve zdrojovém obrazu. Hlavička musí být vţdy na
začátku souboru, proto přemaţe případný existující obsah souboru !
58.8 Zapsat obraz
Zapsat výřez ze zdrojového obrazu do vytvářeného souboru GIF. Pouţívá parametry Jméno souboru,
Počátek vodorovně a svisle a Velikost obrazu/textu, podle kterých určuje výřez a dále Prokládání a
Setřídit paletu.
58.9 Řídící blok
Zapsat řídící blok do vytvářeného souboru GIF. Pouţívá parametry Jméno souboru, Index průhledné
barvy, Obnovit pozadí, Vstup uţivatele a Zpoţdění.
58.10 Komentář
Zapsat komentář do vytvářeného souboru GIF. Pouţívá parametry Jméno souboru a Text, který je
pouţit jako text komentáře.
58.11 Blok aplikace
Zapsat blok aplikace do vytvářeného souboru GIF. Pouţívá parametry Jméno souboru a Text. Z
editačního okénka Text pouţije prvních 11 znaků pro identifikaci aplikace (8 znaků by měl být název a
3 identifikační kód) a v dalším textu hledá hexadecimální číslice. Vţdy ze dvou číslic vytvoří 1 bajt,
pokud na konci zůstane jedna číslice lichá, doplní ji nulou.
58.12 Text do obrazu
Zapsat blok textu do vytvářeného souboru GIF. Zadaný text by se měl při animaci objevit v obrázku.
Pouţívá parametry Jméno souboru, Počátek vodorovně a svisle, Velikost okna/buňky (velikost jednoho
písmene v pixelech), Velikost obrazu/textu (velikost celého textu v pixelech), Index barvy textu, Index
barvy pozadí a Text. Řídící znaky (včetně znaku nová řádka) z parametru Text se zobrazují jako
mezery.
58.13 Parametry
Parametry Animovaného GIFu jsou rozděleny do několika skupin.
Jméno souboru - jméno souboru ve formátu GIF nebo záznam (.log), se kterým se pracuje. Operace
Animace a Rozfázovat vyţadují aby zde byl uveden soubor ve formátu GIF, tedy nikoli záznam.
Existující soubor je moţné zvolit tlačítkem Výběr. Kromě operací Animace a Rozfázovat pouţívají
tento parametr ještě operace GIF podle záznamu, Zapsat hlavičku, Zapsat obraz, Řídící blok, Komentář,
Blok aplikace a Text do obrazu.
Parametry Počátek, Velikost okna/buňky a Velikost obrazu/textu Vodorovně a svisle se nastavují podle
zdrojového obrazu, kromě toho je lze v příslušných editačních okéncích změnit i přímo. Pouţívají se při
operacích Zapsat obraz a Text do obrazu, parametry Velikost okna/buňky i při Zapsat hlavičku.
Další parametry v editačních okéncích:
Poměr stran - editační okénko musí obsahovat 2 čísla v plovoucí čárce oddělená dvjtečkou, můţe být od
4:1 do 1:4.21875. Tento parametr se při zobrazení ignoruje, ale je moţné ho zapsat do výsledného GIFu
pomocí operace Zapsat hlavičku.
Index barvy pozadí - pouţívá se při operacích Zapsat hlavičku a Text do obrazu.
Index barvy písma - pouţívá se při operaci Text do obrazu.
Index průhledné barvy - pouţívá se při zápisu Řídícího bloku. Pokud je zde nezáporná hodnota, tak při
čtení následného obrazu se data s touto hodnotou nezapisují do obrazu, ale zachová se zde původní
obsah, chovají se jako průhledná.
Zpoţdění - pouţívá se při zápisu Řídícího bloku. Před dalším čtením se počká příslušný počet sekund.
Přípustné hodnoty jsou od 0 do 655.35 s po 0.01 s.
Parametry v potvrzovacích okéncích:
Zapsat globální paletu - pouţívá se při operaci Zapsat hlavičku, do souboru se zapíše globální paleta ze
zdrojového obrazu.
Setřídit paletu - pouţívá se při operacích Zapsat hlavičku a Zapsat obraz. V prvním případě se třídí
globální paleta, ve druhém lokální, pokud je ji třeba zapsat.
136
ZODOP
Prokládání - pouţívá se při operaci Zapsat obraz. Obraz se zapíše prokládaný, tzn. nejprve kaţdý osmý
řádek počínaje prvním, pak mezilehlé, kaţdý osmý počínajepátým, pak kaţdý čtvrtý počínaje třetím a
nakonec kaţdý druhý počínaje druhým.
Obnovit pozadí - pouţívá se při zápisu Řídícího bloku. Zapíše se povel k vyplnění okna barvou pozadí.
Vstup uţivatele - pouţívá se při zápisu Řídícího bloku. Při animaci program zobrazí okno s dotazem
Ukončit operaci ? Odpověď ano ukončí animaci, odpověď ne pokračuje v animaci.
Parametr Text - obsah tohoto editačního okna se pouţívá při operacích Komentář, Blok aplikace a Text
do obrazu.
58.14 Výběr
Výběr uţ existujícího GIF souboru nebo záznamu.
58.15 Zavřít
Zavře se dialog o práci s animovanými soubory GIF.
58.16 Nápověda
Zobrazí se nápověda dialogu.
59. Porovnání obrazů
Tento modul slouţí především k hledání obrázků, které se v nějakém adresáři vyskytují dvakrát a
vícekrát. Jako doplňková sluţba je zde i moţnost porovnat shodu dvou jiţ otevřených obrazů.
Porovnání dvou obrazů f a g je zaloţeno na korelaci
 f (i, j ) g (i, j )
i, j
 f 2 (i, j )
i, j
 g 2 (i, j )
.
i, j
Vypočítá se z obou obrazů napřed přímo a pak z jejich negativů a z obou hodnot se pouţije ta menší.
Udává se v procentech. Zde je dialogové okno modulu
ZODOP
137
59.1 Adresáře
V políčcích 1. adresář a 2. adresář se uvedou cesty k adresářům s porovnávanými obrázky. Pokud jsou
stejné, porovnávají se všechny obrázky v něm, jinak je vţdy jeden obrázek z 1. adresáře a druhý z 2.
Tlačítka výběr usnadňují výběr adresářů.
59.2 Soubor s výsledky
Zde je uvedeno jméno souboru s výsledky. V něm je po skončení výpočtu na kaţdém řádku procento
shody a jména souborů se podobnými obrázky včetně cesty. Pokud se v prohledávaných adresářích
vyskytne nějaký obrázek více neţ dvakrát, je zde uvedena kaţdá dvojice.
59.3 Práh podobnosti
Jako podobné se vyhodnotí ty dvojice obrázků, které budou mít procento podobnosti vyšší neţ tento
práh. Implicitní hodnota je 97%.
59.4 Počet vzorků v jednom směru
Pro urychlení porovnání se nekontrolují všechny pixely zkoumaných obrázků, ale pouze vybrané
vzorky. Označíme-li zde uvedené číslo k, kontroluje se k vzorků vodorovně a k vzorků svisle, celkem
tedy kxk. Implicitní hodnota k je 10, v naprosté většině případů to stačí, pokud byste však měli
problémy s nedostatkem paměti, je moţné toto číslo ještě sníţit, při zvýšení se zpřesní porovnání za
cenu prodlouţení výpočtu. Pokud zrušíte zaškrtnutí potvrzovacího políčka, bude výpočet probíhat
přímo v souborech a to přes všechny pixely, takţe bude maximálně přesný, ale velmi zdlouhavý.
59.5 Obrazy
Porovná se vybraný obraz s obrazem označeným jako druhý. Se soubory se nepracuje, výsledek se
objeví v políčku podobnost obrazů v procentech.
138
ZODOP
59.6 Adresáře
Porovnají se všechny obrazy ve vybraných adresářích.
59.7 Zavřít
Zavře se dialog o porovnání obrazů.
60. Test fotomontáţí
Tento zásuvný modul slouţí k testování, zda obraz obsahuje nějakou oblast dvojmo (fotomontáţ typu
copy + paste). Zde je dialogové okno
60.1 Test
Spustí se test. V kaţdém pixelu obrazu s vyjímkou levého a spodního okraje začíná jeden čtvercový
blok. V kaţdém bloku se spočítají hodnoty 24 momentových invariantů 3., 5. a 7. řádu vůči rozmazání
středově symetrickou maskou. Pokud je zvoleno testovat kanál 0 a obraz je barevný, počítají se
invarianty z kaţdé barvy, takţe dostaneme 72 hodnot. Z nich se pomocí analýzy hlavních komponent
vyberou lineární kombinace nejdůleţitějších příznaků a porovnávají se s ostatními bloky. Ve výsledném
obrazu jsou bloky dostatečně vzdálené (alespoň o velikost okna) a přitom s dostatečnou mírou shody,
přičemţ se testuje i podobnost sousedů.
60.2 Parametry
Parametry procesu:

Testovat kanál č. (0=všechny). Pokud je zde vyplněno číslo od 1 do 3 a testovaný obraz je
v RGB módu, otestuje se pouze jeden kanál, a to modrý pro 1, zelený pro 2 a červený pro 3.
Pokud zde bude 0 (implicitně), budou se testovat všechny tři kanály. Na testování černobílých
obrazů a obrazů v indexových barvách nemá tento argument vliv.

Velikost strany kontrolovaného okna neboli bloku. Na jedné straně by měla odpovídat
velikosti testovaného obrazu, na druhé straně by se celé okno mělo vejít do předpokládaného
zkopírovaného bloku. Implicitní hodnota 24 byla vybrána jako vhodný kompromis pro běţné
obrazy v televizní kvalitě.

Práh podobnosti oken. Hodnota od 0 do 1 udává, která okna jsou ještě povaţována za
podobná. Se zvyšující se hodnotou klesá počet nalezených podobných bloků. Implicitně 0.99.

Práh hlavních komponent. Hlavní komponenty, jejichţ součet vlastních čísel vztaţený
k celkovému součtu bude menší neţ tento práh, budou vynechány. Implicitní hodnota 0.01
znamená, ţe budou vynechány hlavní komponenty pod 1%.
ZODOP
139
60.3 Soubor s protokolem
Zde je uvedeno jméno souboru s protokolem. Mimo jiných informací o obrazu je v něm pro kaţdý
čtvercový blok uveden počet jiných podobných bloků v obrazu, pokud je větší neţ jedna. Pokud je
podezřelý z okopírování, je zde uveden i jemu podobný blok a míra podobnosti. Tlačítkem Výběr je
moţno změnit název a umístění souboru s protokolem, tlačítkem Prohlídka je moţné otevřít protokol
v novém okně a prohlédnout si ho.
60.4 Zavřít
Zavře se dialog o porovnání obrazů.
61. Kreslení grafů
Tento zásuvný modul je určen ke kreslení grafů z uzlů a hran. Grafy se zadávají seznamem hran. Zde je
dialogové okno
61.1 OK
Vytvoří se obrazy s nakreslenými grafy. Pokud je zaškrtnuto políčko Výsledné grafy zapsat do souborů
a je vyplněno políčko se jménem výstupních souborů, jsou vytvořené grafy zapsány do souborů. Jméno
souboru je doplněno poředovým číslem grafu.
61.2 Parametry
Parametry procesu:

Standardní rozměry grafu (implicitně 256 x 256). Rozměry obrazů, do kterých budou grafy
zakresleny.

Poloměr uzlu (implicitně 5). Uzly jsou zakresleny jako krouţky s daným poloměrem.

Očíslovat uzly (implicitně ne). Při zaškrtnutí se do grafu zapíší čísla uzlů.

Vzdálenost vícenásobných hran (implicitně 8). Pokud jsou dva uzly spojeny více hranami,
udává tato hodnota jejich maximální vzdálenost. Tedy čím vyšší číslo, tím jsou hrany
„vyboulenější“.
140
ZODOP

Tloušťka hran (implicitně 1). Tloušťka hran v pixelech.

Index barvy kresby (implicitně 0). Vytvořené obrázky jsou 8-bitové s černobílou paletou,
hodnota 0 tady znamená černou kresbu grafu.

Index barvy pozadí (implicitně 255). Vytvořené obrázky jsou 8-bitové s černobílou paletou,
hodnota 255 tady znamená kresbu na bílém pozadí.
61.3 Soubor s údaji o kreslených grafech
Zde je uvedeno jméno souboru se vstupními údaji, podle kterých se grafy kreslí. Soubor můţe mít dva
formáty, jednoduchý a sloţitý. Zápis nového grafu začíná vţdy prázdnou řádkou. Jednoduchý formát
obsahuje pouze seznamy hran, např. zápis
1111122
2233344
znamená 2 hrany z uzlu 1 do uzlu 2, 3 hrany z uzlu 1 do uzlu 3 a 2 hrany z uzlu 2 do uzlu 4. Pokud graf
obsahuje n uzlů, nakreslí se do vrcholů pomyslného pravidelného n-úhelníka, tedy v daném případě
čtverce. Výsledný graf s očíslovanými uzly pak vypadá takto:
Sloţitý formát má jako první znak „c‟ nebo „C‟. Kaţdý graf se pak zapisuje na 3 řádky, první řádka
upřesňuje tvar grafu, další dvě jsou seznam hran jako v jednoduchém formátu. Uzly jsou rozděleny do
dvou skupin, uzly z první skupiny jsou zakresleny do vnitřního n1-úhelníka, uzly z druhé skupiny do
vnějšího n2-úhelníka, celkový počet uzlů je n=n1+n2. Pokud je tedy n1=0, podoba grafu se nezmění.
Počet hran je h. První řádka tedy začíná h n n1, pak následuje buď číslo 0 nebo nějaká permutace čísel
uzlů. Takţe zápisem:
c
7401243
1111122
2233344
můţeme odstranit překříţení hran v předchozím grafu
ZODOP
141
Zápis (další grafy v souboru se uţ zapisují bez písmena c):
8620
11111235
23445666
vytvoří takovýto graf:
61.4 Zavřít
Zavře se dialog o kreslení grafů.
62. Čtení map
Tento zásuvný modul slouţí ke čtení map rozdělených do čtverců, z nichţ kaţdý je uloţen ve zvláštním
souboru. Rozměr čtverců je pevný a je nastaven na 1575. Modul potřebuje dva databázové soubory,
v prvním je pro kaţdou mapu uveden seznam čtverců, které jsou nutné k jejímu sloţení, ve druhém je
142
ZODOP
pro kaţdou mapu seznam souřadnic vrcholů mapy. Mapy jsou v souborech seřazené podle čísel. Oba
soubory musejí být ve stejném adresáři jako zásuvný modul. Pro přečtení mapy je nutné napřed vybrat
adresář se čtverci, vyplnit číslo mapy, potvrdit ho tlačítkem Náhled a po nakreslení náhledu otevřít
mapu tlačítkem Obraz s mapou. K ovládání zásuvného modulu slouţí následující dialog:
Zásuvný modul umoţňuje také vytvořit soubor pro správné odečítání souřadnic funkcí Souřadnice,
soubor s údaji pro otočení mapy funkcí Vlícovací body a soubor pro odečítání souřadnic otočené mapy,
to vše pokud jsou příslušná zaškrtávací tlačítka potvrzena.
62.1 Mapa
Sem je nutno vyplnit číslo mapy. Toto číslo se skládá z dvojmístného čísla mapy 1:200 000, z čísla
mapy 1:100 000 od 1 do 4, z čísla mapy 1:50 000 od 1 do 4 a z čísla mapy 1:10 000 od 01 do 25.
Případné nečíselné znaky v čísle mapy jsou vynechány a nejsou proto na závadu. Poté je nutno
zmáčknout tlačítko Náhled. V průběhu této akce se mohou vyskytnout různá chybová hlášení, pokud
čísla map budou mimo výše uvedený rozsah, objeví se hlášení “Mapa neexistuje“. Pokud uvedená mapa
1:200 000 leţí celá mimo území republiky, objeví se hlášení “Mapa nezahrnuje území České
republiky“. Další hlášení se mohou objevit, pokud se nepodaří otevřít soubor se seznamy map nebo
soubor se seznamy vrcholů nebo se v nich nepodaří uvedenou mapu nalézt, pokud čtverce mají
nestandardní velikost nebo se z uvedené mapy nepodaří přečíst ani jeden čtverec. Pokud se vše podaří,
je moţno pokračovat v práci s mapou.
62.2 Tlačítko Náhled
Tímto tlačítkem se potvrzuje platnost čísla mapy a vytvoří se náhled.
62.3 Rozměry mapy
Zde se objeví skutečné rozměry mapy v pixelech. Je přitom pamatováno na určitý přesah, v současné
době nastavený na 10 m.
62.4 Čtverce v
Zde je uvedena cesta k adresáři, ve kterém jsou soubory se čtverci.
62.5 Výběr adresáře se čtverci
ZODOP
143
Obecný dialog pro volbu souboru. Je nutno vybrat jeden soubor se čtvercem jako příklad a podle něj se
nastaví cesta k adresáři se čtverci.
62.6 Výřez
Zde se objeví souřadnice levého a horního kraje výřezu a jeho šířka a výška. Implicitně jsou nastaveny
na nejmenší výřez, který obsahuje mapu. Je moţné je měnit jednak z klávesnice, jednak myší, kliknutím
levým tlačítkem do náhledu a taţením.
62.7 Vzorkování
Zde je moţno nastavit zmenšení nebo zvětšení výsledného obrazu s mapou. Lze pouţít pouze celá čísla.
Pokud však nastavíte např. zmenšení 3 a zvětšení 2, budou výsledné rozměry rovny 2/3 původních.
Změn rozměrů se dociluje vynechávání nebo opakováním některých řádků a sloupců.
62.8 Náhled
Po zmáčknutí tlačítka Náhled se zde objeví náhled na zvolenou mapu. Obsahuje ty čtverce mapy, které
se podařilo přečíst, červený pootočený obdélník vyznačující mapu a černý čárkovaný obdélník
vyznačující aktuální výřez. Ten je moţno nastavit myší.
62.9 Vytvořit vli v
Pokud je příkaz potvrzen, bude při zmáčknutí tlačítka Obraz s mapou vytvořen soubor se jménem
v editačním okénku, obsahující údaje nutné pro správné otočení mapy. Mapu je moţno otočit funkcí
Vlícovací body, ve které zvolíte tento soubor jako soubor s vlícovacími body a otevřenou mapu jako
vstupní obraz a provedete transformaci.
62.10 Výběr souboru s vlícovacími body
Obecný dialog pro volbu souboru s vlícovacími body.
62.11 Vytvořit tfw neotočené mapy podle vli
Pokud bude potvrzeno, vytvoří se k mapě příslušný tfw soubor.
62.12 Vytvořit tfw otočené mapy v
Pokud je příkaz potvrzen, bude při zmáčknutí tlačítka Obraz s mapou vytvořen soubor se jménem
v editačním okénku, obsahující údaje nutné pro správné odečítání souřadnic funkcí Souřadnice. Pokud
mapu otočíte funkcí Vlícovací body, je pak ještě nutné uloţit ji pod stejným jménem jako tento soubor,
pouze s příponou podle zvoleného formátu.
62.13 Výběr souboru s definicí souřadnic otočené mapy
Obecný dialog pro volbu souboru s definicí souřadnic otočené mapy.
62.14 Seznam čtverců
Jméno souboru se seznamy čtverců pro jednotlivé mapy.
62.15 Seznam vrcholů.
Jméno souboru se seznamy vrcholů pro jednotlivé mapy.
62.16 Obraz mapy
Vytvořit obraz mapy podle zadaných parametrů.
62.17 Zavřít
Zavřít dialog pro čtení map.
144
ZODOP
62.18 Nápověda
Zobrazí se nápověda.
63. Zeměpisné souřadnice
Tento dialog zásuvného modulu je určen ke sledování zeměpisných souřadnic bodů v obrazu. Zejména
je určen pro obrazy zemského povrchu jako jsou mapy, druţicové a letecké snímky.
63.1 X
Zeměpisná souřadnice X bodu v obrazu. Je počítána
xm  x0  k x x x  k y x y ,
kde x , y jsou obrazové souřadnice. Ostatní konstanty viz Nastavení velikosti pixelu a počátku
souřadnic. Při potvrzení políčka da a při zmáčknutém levém tlačítku myši se zde objeví vzdálenost od
bodu, v němţ bylo tlačítko zmáčknuto.
63.2 Y
Zeměpisná souřadnice Y bodu v obrazu. Je počítána
ym  y0  k x y x  k y y y ,
kde x , y jsou obrazové souřadnice. Ostatní konstanty viz Nastavení velikosti pixelu a počátku
souřadnic. Při potvrzení políčka da a při zmáčknutém levém tlačítku myši se zde objeví azimut úsečky
spojující aktuální bod s bodem, v němţ bylo tlačítko zmáčknuto.
63.3 Nastavit kurzor
Nastaví kurzor na bod obrazu s zeměpisnými souřadnicemi přečtenými z editačních okének X a Y.
Pokud bod bude mimo obraz, bude kurzor nastaven na nejbliţší bod v obrazu. Tato funkce nepracuje,
pokud je jakobián transformace souřadnic nulový, tzn. k x x k y y  k y x k x y  0 .
63.4 da
Při potvrzení tohoto políčka se při zmáčknutém levém tlačítku myši místo souřadnice X objeví
vzdálenost od bodu, v němţ bylo tlačítko zmáčknuto a místo souřadnice Y se objeví azimut úsečky
spojující aktuální bod s bodem, v němţ bylo tlačítko zmáčknuto.
63.5 tfw
Pokud existuje soubor se stejným jménem a ve stejném adresáři jako je soubor, ze kterého byl obraz
otevřen, lišící se pouze příponou ‚.tfw„, pokusí se z něho program přečíst konstanty pro přepočet
zeměpisných a obrazových souřadnic. Pokud se v okénku objeví značka x, znamená to, ţe se podařilo
úspěšně přečíst tyto konstanty. V souboru musí být 6 konstant v plovoucí čárce, kaţdá na nové řádce,
v pořadí k x x , k y x , k x y , k y y , x 0 , y0 . Pokud se nepodaří přečíst soubor s příponou ‚.tfw„, pokusí se
program přečíst soubor s příponou „.jgw‟.
ZODOP
145
63.6 Nastavit
Objeví se dialog umoţňující nastavení konstant pro přepočet zeměpisných a obrazových souřadnic.
63.7 Zavřít
Zavřít dialog o souřadnicích.
63.8 Rozšířené
Objeví se rozšířený dialog o zeměpisných souřadnicích, zajišťující některé další funkce.
63.9 Nápověda
Zobrazí se nápověda.
63.10 Nastavení parametrů zeměpisných souřadnic
Dialog umoţňující nastavení konstant pro přepočet zeměpisných a obrazových souřadnic.
63.10.1
Počátek vodorovně
Zeměpisná souřadnice
63.10.2
Počátek svisle
Zeměpisná souřadnice
63.10.3
x 0 levého horního rohu obrazu vodorovně v aktuální jednotce.
y 0 levého horního rohu obrazu svisle v aktuální jednotce.
Velikost X pixelu vodorovně
Skutečný vodorovný rozměr
k x x vodorovné hrany pixelu v aktuální jednotce. Pokud je záporný, rostou
skutečné vodorovné souřadnice zprava doleva, jinak zleva doprava. Viz také Konstanty pro přepočet
souřadnic.
63.10.4
Velikost X pixelu svisle
Skutečný svislý rozměr
k x y vodorovné hrany pixelu v aktuální jednotce včetně znaménka. Při
nenatočeném obrazu bude nulový. Viz také Konstanty pro přepočet souřadnic.
63.10.5
Velikost Y pixelu vodorovně
Skutečný vodorovný rozměr
k y x svislé hrany pixelu v aktuální jednotce včetně znaménka. Při
nenatočeném obrazu bude nulový. Viz také Konstanty pro přepočet souřadnic.
146
63.10.6
ZODOP
Velikost Y pixelu svisle
Skutečný svislý rozměr
k y y svislé hrany pixelu v aktuální jednotce. Pokud je záporný, rostou skutečné
svislé souřadnice zezdola nahoru, jinak seshora dolu. Viz také Konstanty pro přepočet souřadnic.
63.10.7
Konstanty pro přepočet souřadnic
Na následujícím obrázku je znázorněna plocha zemského povrchu, jehoţ obrazem je 1 pixel snímku
nebo mapy.
Obrazec je v naprosté většině případů čtverec, obecně to však můţe být kosodélník. Vzdálenosti se
počítají od vrcholu, který je obrazem levého horního rohu pixelu. Tečky místo šipek se snaţí naznačit,
ţe vzdálenosti jsou orientované, tzn. ţe pokud směr šipky souhlasí se směrem, v němţ chcete aby rostla
příslušná souřadnice, bude vzdálenost zadána kladně, pokud šipka směřuje proti smyslu souřadnice,
bude vzdálenost záporná. Např. chcete-li v daném případě, aby souřadnice rostly zleva doprava a zdola
nahoru, bude k x x kladná a ostatní 3 konstanty záporné. Tímto způsobem je moţno zadat jak
anizotropní hustotu vzorkování jinou vodorovně a jinou svisle tak otočení obrazu. Vzdálenosti v tfw
souboru jsou v metrech, v dialogu pro nastavení v aktuálních jednotkách.
63.10.8
Jednotka
Jednotka zeměpisných souřadnic, Můţe být kilometr (km), metr (m) nebo jiná, v tom případě je nutno
zkratku jednotky (max. 10 znaků) doplnit do editačního okénka a velikost jednotky v metrech do
dalšího editačního okénka pod ním.
63.10.9
Seznam předvoleb
V tomto listboxu je seznam předvoleb konstant a jednotek. Kliknutím myší na příslušný řádek je moţno
tyto údaje zadat. Tento seznam je vytvořen podle údajů v souboru ‚coord.txt„ dodávaného spolu se
zásuvným modulem, který můţe být změněn (tlačítko Editor).
63.10.10
Zápis tfw
Zapíše nastavené hodnoty konstant do souboru tfw. Aby byl tento soubor pouţit pro odečítání
souřadnic, musí být uloţen ve stejném adresáři a pod stejným jménem, lišícím se pouze příponou, jako
je soubor uvedený v obrazu. Lze ho zjistit pomocí funkce Informace o obrazu. Proto cesta i jméno
získané ze zdrojového obrazu jsou nastaveny jako implicitní v dialogu pro volbu souboru, který se
objeví.
ZODOP
63.10.11
147
OK
Zrušit dialog o nastavení rozlišení a počátku souřadnic s potvrzením nastavených hodnot pro obraz
označený jako zdrojový.
63.10.12
Všechny obrazy
Zrušit dialog o nastavení rozlišení a počátku souřadnic s potvrzením nastavených hodnot pro všechny
právě otevřené obrazy.
63.10.13
Zrušit
Zrušit dialog o nastavení rozlišení a počátku souřadnic.
63.10.14
Nápověda
Zobrazí se nápověda.
63.10.15
Editor
Umoţní editovat soubor, podle kterého je vytvořen seznam předvoleb (viz Formát souboru se
seznamem předvoleb). Změny se projeví aţ při novém volání dialogu pro nastavení rozlišení a počátku
souřadnic.
63.10.16
Formát souboru se seznamem předvoleb
Na první řádce je krátké shrnutí formátu. Tato řádka je ignorována. Na dalších řádkách je vţdy na
začátku řetězec vyjadřující jednotku, „km“ je chápán jako kilometr, „m“ jako metr a ostatní řetězce jsou
chápány jako zkratky jiné jednotky, v tom případě následuje velikost jednotky v metrech oddělená
mezerou. Následuje jedno aţ šest čísel oddělených mezerami, vyjadřující nastavované konstanty
v pořadí velikost X pixelu vodorovně, velikost Y pixelu svisle, velikost Y pixelu vodorovně, velikost X
pixelu svisle, počátek vodorovně a počátek svisle, tedy k x x , k y y , k y x , k x y , x 0 , y0 . Implicitně je
velikost X pixelu vodorovně stejná jako velikost Y pixelu svisle, velikost Y pixelu vodorovně stejně
jako velikost X pixelu svisle je nulová a počátek není nastavován. Následuje středník (;) a zbytek řádky
je chápán jako popis předvolby, který se objeví v seznamu.
63.11 Rozšířené zeměpisné souřadnice
Rozšířený dialog o zeměpisných souřadnicích, zajišťující některé další funkce. Takto vypadá dialogové
okno:
148
63.11.1
ZODOP
Souřadnice
V současné době dialog zobrazuje 6 druhů zeměpisných souřadnic:






Souřadnice JTSK neboli Křovákovy
Gauss-Krügerovy souřadnice pro pás 33
Gauss-Krügerovy souřadnice pro pás 34
Zeměpisná šířka a délka odvozená z Besselova elipsoidu
Zeměpisná šířka a délka odvozená z Krasovského elipsoidu
Zeměpisná šířka a délka v systému WGS-84
Gauss-Krügerovy souřadnice pro pás 34 se pouţívají ve východní části Ostravska, ve zbytku České
republiky se pouţívají souřadnice pro pás 33.
Ke kaţdému druhu souřadnic existuje radiotlačítko, kterým je moţno označit příslušné souřadnice jako
vstupní, tzn. program předpokládá, ţe údaje v tfw souboru se vztahují k tomuto druhu souřadnic.
Implicitně jsou označeny souřadnice JTSK. Pro správnou funkci je třeba, aby tfw soubor obsahoval
správné údaje, a aby bylo zvoleno odpovídající radiotlačítko.
Pro kaţdý druh souřadnic existují dvě editační okénka s číselným údajem o souřadnicích. Pro délkové
souřadnice (první 3) je zde dále údaj o jednotce.
Pro přepočty se pouţívá knihovna geotran.dll, která musí být pro správnou funkci k dispozici.
63.11.2
Nastavit
Objeví se dialog umoţňující nastavení konstant pro přepočet zeměpisných a obrazových souřadnic.
63.11.3
Zavřít
Zavřít dialog o zeměpisných souřadnicích.
63.11.4
Nápověda
Zobrazí se nápověda.
63.11.5
Zúţené
Vrátí se původní redukovaný dialog o zeměpisných souřadnicích.
63.11.6
Nastavit kurzor
V editačních okéncích s číselným údajem o souřadnicích je moţné tyto vyplnit z klávesnice. Tímto
tlačítkem se potom kurzor v obrazu nastaví do odpovídající polohy.
63.11.7
Přepočítat
V editačních okéncích s číselným údajem o souřadnicích je moţné tyto vyplnit z klávesnice. Tímto
tlačítkem se potom přepočtou všechny ostatní druhy souřadnic.
63.11.8
Nastavit
V editačních okéncích s číselným údajem o souřadnicích je moţné tyto vyplnit z klávesnice. Tímto
tlačítkem se potom kurzor v obrazu nastaví do odpovídající polohy.
63.11.9
Výřez
Vytvořit výřez ve tvaru vybrané oblasti. Nejprve se zeptá na jméno, pod kterým má výřez vytvořit a
uloţit na disk. Je třeba zvolit formát, který umoţňuje zápis obrazu s příslušnou hloubkou. Poté vytvoří
odpovídající obraz a diskový soubor. Nakonec vytvoří i příslušný tfw soubor.
63.11.10
Formát úhlů
Zde je moţno zvolit, zda úhlové souřadnice budou zobrazovány ve tvaru stupeň, minuta , sekunda
(ss°mm‟vv.ds”) nebo ve tvaru desetinného čísla (ss.dstds).
63.11.11
tfw
Pokud existuje soubor se stejným jménem a ve stejném adresáři jako je soubor, ze kterého byl obraz
otevřen, lišící se pouze příponou ‚.tfw„, pokusí se z něho program přečíst konstanty pro přepočet
zeměpisných a obrazových souřadnic. Pokud se v okénku objeví značka x, znamená to, ţe se podařilo
ZODOP
149
úspěšně přečíst tyto konstanty. V souboru musí být 6 konstant v plovoucí čárce, kaţdá na nové řádce,
v pořadí k x x , k y x , k x y , k y y , x 0 , y0 . Pokud se nepodaří přečíst soubor s příponou ‚.tfw„, pokusí se
program přečíst soubor s příponou „.jgw‟.
63.11.12
Zapsat do
Zapsat údaje v editačních okéncích s číselným údajem o souřadnicích do souboru uvedeného vlevo.
Soubor je moţno téţ zvolit tlačítkem Vybrat.
64. Formátové zásuvné moduly
Formátové zásuvné moduly umoţňují čtení a zápis obrazů v různých grafických formátech. V současné
době jsou k dispozici tyto zásuvné moduly s těmito příponami:
Modul
BMP
FITS
GIF
ICO
JPEG
PNG
PGMPPM
PGMPPM
PIC_I
PNG
PSCRIPT
RAW
RAW
TIFF
TIFFSAMPLE
přípona
„.bmp“
„.fit“
„.gif“
„.ico“
„.jpg“
„.pct“
„.pgm“
„.ppm“
„.pic“
„.png“
„.ps“
„.siz“
„.raw“
„.tif“
„.tif“
popis
formát BMP pro bitmapy ve Windows
formát FITS
formát „Graphics Interchange Format“
formát ikon ve Windows
Joint Photographic Expert Group
formát MacPict
formát PGM „Portable Gray Map“
formát PPM „Portable Pixel Map“
formát PIC pro infračervené snímky
formát Portable Network Graphics
formát PostScript
údaje o souboru ve formátu holá data (viz formát siz souboru)
soubor ve formátu holá data. Otvírá se pomocí stejnojmenného dialogu.
formát TIFF „Tag Image File Format“
vzorkovaný formát TIFF „Tag Image File Format“
a dále zásuvný modul VECTOR pro čtení a zápis vektorových obrazů v těchto formátech:
„shp“
„wmf“
„emf“
„dgn“
„cgm“
„cmx“
„drw“
„dwf“
„dwg“
„dxf“
„dgf“
„pcl“
„pct“
„plt“
„svg“
„vec“
formát „Environmental Systems Research Institute“
formát „Windows Meta File“
formát „Windows Enhanced Meta File“
formát „Intergraph Microstation“ - jenom pro čtení
formát „Computer Graphics Metafile“
formát „Corel Presentation Exchange“ - jenom pro čtení
formát „DRaWing – Micrografx Designer“
formát „AutoCAD“
formát „AutoCAD“ - jenom pro čtení
formát „Drawing Interchange Format“
formát „Gerber File“
formát „Printer Command Language“
formát „Vector Macintosh QuickDraw PCT“
formát „HPGL – Hewlett-Packarde“
formát „Scalable Vector Graphics“
vlastní formát LeadTools.
Viz také formátové zásuvné moduly BMP, FITS, GIF, ICO, JPEG, PNG, PGMPPM, PIC_I, PostScript,
Holá data, TIFF a Vzorkovaný TIFF.
65. BMP
Formátový zásuvný modul zajišťuje práci se soubory typu BMP. Tento formát lze pouţít pro čtení,
zápis a pro částečné obnovení z disku. Při ukládání v tomto formátu se také zapisuje rozlišovací
150
ZODOP
schopnost při tisku (v dpi) v případě, ţe byla nastavena. Při otvírání, pokud je v souboru zapsaná jiná
neţ implicitní rozlišovací schopnost (v současnosti 72 dpi), se tato přečte a doplní se poloha uprostřed
aktuální stránky.
Zápis 16-bitových obrazů v tomto formátu je moţný jen v případě, ţe jednotlivé základní barvy lze
vymaskovat. Testuje se proto, zda obraz má paletu vytvořenou v dialogu pro změnu palety tlačátkem
Šedá, Masky nebo Stejné masky s implicitními hodnotami parametrů, tj. Počátek=0 a Délka=65536.
Pokud tomu tak není, je obraz převeden na 24-bitový, coţ má za následek, ţe po opětném přečtení
obraz sice vypadá stejně, ale informace z některých méně významných bitů mohou být ztraceny.
66. FITS
Formátový zásuvný modul umoţňuje pouze čtení souborů typu FITS. Čtení dat s více neţ dvěma
rozměry je odmítnuto. Tento formát umoţňuje ukládat obrazy s hloubkami 8, 16 nebo 32 bitů v pevné
řádové čárce a 32 nebo 64 bitů v pohyblivé řádové čárce. Z 8-bitových dat je vytvořen 8-bitový
černobílý obraz, z ostatních hloubek 16-bitový. Rozsah hodnot minimum – maximum je namapován na
rozsah 0 – 255, případně 0 – 65535.
67. GIF
Formátový zásuvný modul zajišťuje práci se soubory typu GIF (Graphics Interchange Format).
Copyright Graphics Interchange Format © a servisní značka GIF(sm) je majetek firmy CompuServe
Incorporated. Tento formát lze pouţít pro čtení, zápis a pro čtení samotné palety (dialog Úprava
palety). Umoţňuje ukládání nejvýše 8-bitových dat, proto při ukládání obrazů s větší hloubkou jsou tyto
převedeny do indexových barev se systémovou paletou. Formát také umoţňuje přítomnost více obrazů
v jednom souboru. Při otvírání takového souboru se objeví dotaz, kolikátý obraz má být přečten. Při
ukládání je pouţita verze formátu GIF87a, při otvírání je moţno číst verze GIF87a a GIF89a, ale
neobrazové informace (všechna rozšíření GIF89a oproti GIF87a) jsou ignorovány. Jiné verze nelze
tímto zásuvným modulem otevřít. Existuje také zásuvný modul Animovaný GIF, kterým je moţné
přečíst i soubory ve formátu GIF89a včetně řídících příkazů.
68. ICO
Formátový zásuvný modul umoţňuje čtení i zápis obrazu jako ikony ve Windows. Jako ikonu nelze
uloţit obraz s větší hloubkou neţ 8 bitů.
69. JPEG
Formátový zásuvný modul JPEG je určen pro práci se stejnojmennou skupinou formátů. JPEG je
zkratka z Joint Photographic Expert Group a vyslovuje se „dţejpeg“. Zásuvný modul je zaloţen na
práci „Independent JPEG Group“, zkráceně IJG. Umoţňuje čtení běţně pouţívaných JPEG formátů
včetně většiny základních (baseline), rozšířených sekvenčních a progresivních formátů. Nepodporuje
hierarchické uloţení, bezeztrátový JPEG, aritmetické kódování podle entropie, marker DNL a
neceločíselné podvzorkovací poměry. Formát JPEG umoţňuje zapsat pouze černobílé 8-bitové obrazy a
24-bitové RGB obrazy, proto při zápisu obrazu v indexových barvách je tento transformován do 24 bitů
RGB. Při zápisu je JPEG ztrátový, tzn. ţe zapsaný obraz se trochu liší od původního, ale je moţné
docílit velmi příznivých kompresních poměrů.
V dialogu Nastavení je moţné nastavit kvalitu a tím i velikost výstupního souboru na stupnici 0 aţ 100
doporučenou IJG. Zásuvný modul pak podle toho nastaví vhodné kvantizační tabulky. Implicitní
hodnota 75 vyhoví v naprosté většině případů, teprve kdyţ při zpětném čtení uvidíte defekty, zkuste
kvalitu zvýšit. Naopak, pokud zapisovaný obraz uţ je horší kvality, lze sníţit nastavení aţ na 50 bez
významné degradace, pokud obraz neobsahuje dithering nebo moiré. Kromě experimentálních účelů
není vhodné pouţívat vyšší kvalitu neţ 95, nastavení 100 vytvoří soubor dva- aţ třikrát větší neţ 95 bez
ZODOP
151
pozorovatelného zvýšení kvality. Nastavení 100 je spíše matematický limit neţ uţitečné nastavení.
Pokud chcete velmi malý soubor a jste připraveni tolerovat velká poškození, je vhodné nastavení od 5
do 10. Nastavení okolo 2 uţ je dobré leda pro obveselení.
70. PNG
Formátový zásuvný modul zajišťuje práci se soubory typů PCT a PNG. Tyto formáty lze pouţít pro
čtení, zápis a pro částečné obnovení z disku. Pouţívá knihovnu LeadTools. Pouţitá verze knihovny
neumoţňuje zápis 16-bitových obrazů v tomto formátu.
71. PGMPPM
Formátový zásuvný modul umoţňuje čtení i zápis souborů typu PGM (Portable Gray Map), PBM
(Portable Bit Map) a PPM (Portable Pixel Map) v binární verzi. Formát PGM se pouţívá pouze pro
černobílé obrazy s hloubkami 2 aţ 16 bitů, pro 1-bitové obrazy se pouţije PPM a pro barevné obrazy (v
indexových barvách i RGB) se pouţije 24-bitový formát PPM. Je téţ zajišťována funkce částečného
obnovení z disku.
72. PIC_I
Formátový zásuvný modul umoţňuje čtení i zápis souborů typu PIC. Tento formát neumoţňuje ukládat
barevné třísloţkové obrazy ve 24-bitovém RGB módu, proto se v tom případě uloţí pouze jas.
V případě obrazů v indexových barvách se uloţí pouze indexy.
73. PostScript
Formátový zásuvný modul PSCRIPT umoţňuje zápis obrazu v jazyce PostScript. Do souboru se téţ
zapisují údaje o poloze na stránce a rozlišovací schopnosti při tisku nastavené v dialogu nastavení
strany. Pokud tyto údaje nebyly nastaveny, zapíše se implicitní rozlišovací schopnost (v současnosti 72
dpi) a poloha uprostřed aktuální stránky. Soubory v tomto formátu lze jednak přímo vytisknout na
postscriptových tiskárnách, jednak je zahrnout do dokumentů některých textových editorů (splňují
poţadavky na encapsulated PostScript).
74. TIFF
Formátový zásuvný modul zajišťuje práci se soubory typu TIFF (Tag Image File Format). Pouţívá
knihovnu Libtiff Copyright © 1988-1996 Sam Leffler a © 1991-1996 Silicon Graphics, Inc. Formát lze
pouţít pro čtení i zápis, pro čtení samotné palety (dialog Úprava palety), pro částečné obnovení z disku
a je téţ doporučen pro zápis nových obrazů (uplatní se v příkazech Uloţit vše a uloţit seznam).
V dialogu Nastavení je moţné nastavit, zda bude obraz zapsán bez komprese, s kompresí Lempel - Zif Welch známou také jako LZW nebo s kompresí Packbits známou také jako Macintosh RLE. Při
ukládání v tomto formátu se také zapisuje rozlišovací schopnost při tisku (v dpi) a poloha na papíře (v
inchích) v případě, ţe byly nastaveny. Při otvírání, pokud je v souboru zapsaná rozlišovací schopnost a
poloha na papíře, se tyto přečtou. Při otvírání, pokud je obsaţen, je ze souboru téţ čten popis souboru
jako komentář, případně jeho prvních 256 znaků, pokud je delší. Při ukládání je jiný neţ implicitní
komentář zapisován jako popis souboru. Tento zásuvný modul neumoţňuje čtení obrazů kódovaných
jako JPEG a vektorových obrazů.
75. Vzorkovaný TIFF
152
ZODOP
Formátový zásuvný modul IMGFSAMP zajišťuje čtení souborů typu TIFF. Umoţňuje i částečné
obnovení z disku. Pouţívá knihovnu Libtiff Copyright © 1988-1996 Sam Leffler a © 1991-1996
Silicon Graphics, Inc. Při otvírání, pokud je v souboru zapsaná rozlišovací schopnost a poloha na
papíře, se tyto přečtou. Rozlišovací schopnost není přepočítána podle nastaveného zvětšení a zmenšení.
Pokud je obsaţen, je ze souboru téţ čten popis souboru jako komentář, případně jeho prvních 256
znaků, pokud je delší. Omezení na způsob uloţení obrazu v souboru viz zásuvný modul TIFF (kapitola
74).
Po zvolení tohoto zásuvného modulu se objeví dialog, ve kterém je moţné zvolit výřez z obrazu,
zmenšení vyříznuté části a případně zvětšení.
75.1 Výřez
Zde je moţno zvolit vodorovnou a svislou souřadnici levého horního rohu výřezu a jeho šířku a výšku.
75.2 Zmenšení a zvětšení
Zde je moţno zvolit poměr změny rozměru obrazu. Např. zvolíme-li zmenšení 3 a zvětšení 2, budou
rozměry přečteného obrazu rovny dvěma třetinám původních rozměrů, tzn. kaţdý třetí pixel vodorovně
i svisle bude vynechán.
75.3 Náčrt obrazu
Zde je schematicky naznačen zvolený obraz. Kliknutím levou myší dovnitř náčrtu obrazu a taţením je
moţno nastavit výřez, který je znázorněn čárkovaným obdélníkem.
75.4 OK
Po uzavření dialogu se přečte zvolená část obrazu.
75.5 Zrušit
Zavřít dialog bez otevření obrazu.
75.6 Nápověda
Zobrazí se nápověda.
76. Formát holá data
Tento dialog se pouţívá ve formátovém zásuvném modulu Holá data (soubor RAW) pro čtení
obrazových dat, která jsou uloţena v souboru po řádcích bez kódování. Tyto soubory by měly
ZODOP
153
přednostně pouţívat příponu „.raw“. Filtr s touto příponou je k dispozici pro čtení i zápis a je téţ
doporučen pro zápis nových obrazů (uplatní se v příkazech Uloţit vše a uloţit seznam).
Při čtení nejsou známy rozměry obrazu, proto je musí uţivatel zadat. Pokud je nezná ani on, můţe
poţádat program, aby se je pokusil uhodnout (tlačítko Hádej) z velikosti souboru. Pokud si ověří, ţe
nalezené rozměry jsou správné, můţe je uloţit (tlačítko Zápis siz) do souboru se stejným jménem jako
data, ale s příponou „.siz“ (viz Formát siz souboru). Při dalším čtení souboru se pouţijí údaje z tohoto
siz souboru. Filtr s touto příponou je k dispozici pro příkaz Otevřít, ale nikoli pro Otevřít jako.
Pokud bude zvolena funkce Uloţit na obraz otevřený v tomto formátu a bude nalezen siz soubor, uloţí
se podle údajů v tomto souboru, jinak se pouţije dialog jako při zvolení funkce Uloţit jako. Pokud však
obrázek stejného jména bude otevřen vícekrát a podle údajů v siz souboru došlo k vynechání dat (více
kanálů, výřez, více bajtů na pixel nebo vzorkování), bude pouţit dialog Uloţit jako i v případě
existence siz souboru, protoţe v tomto případě hrozí přepsání dat z jiných obrázků.
Formátový modul zajišťuje téţ funkci částečného obnovení z disku, ovšem pouze v případě, ţe je
k dispozici příslušný siz soubor. Tato funkce proběhne bez vytvoření dialogu, potřebné údaje jsou
přečteny ze siz souboru.
Takto vypadá dialogové okno:
76.1 Formát siz souboru
1.
2.
3.
4.
řádek: disk
řádek: cesta (adresář)
řádek: jméno souboru s daty
řádek: [buď M nebo L][d]{-Ss}{-Pp}{-Cc}{-Ii}{-Hh}{-Ff}{-R{r}}
[ ] jsou povinné poloţky, { } volitelné, velká písmena se píší jako znaky, malá znamenají číselný
údaj.
d je počet bitů na pixel (v současné době můţe být pouze 8 nebo 16),
L buď jednobajtová data nebo správné pořadí bajtů
M opačné pořadí bajtů u vícebajtových dat
S z vícebajtových dat se vybírá 8 bitů počínaje bitem s (implicitně 0)
P počet pixelových kanálů je p (implicitně 1)
C počet řádkových kanálů je c (implicitně 1)
I počet obrazových kanálů je i (implicitně 1)
H délka hlavičky je h (implicitně 0)
F délka patičky je f (implicitně 0)
154
ZODOP
R snímek je barevný, číselný údaj znamená, ţe vyhledávací tabulka je uloţena ve stejném souboru jako
data a to počínaje bajtem r od začátku souboru. (implicitně černobílý snímek bez vyhledávací tabulky,
samotné R - vyhledávací tabulka je v jiném souboru, RGB - snímek je ve 24-bitovém formátu)
5. řádek: počet sloupců obrazu (šířka)
6. řádek: počet řádků obrazu (výška)
7. řádek: číslo kanálu
Pokud je více druhů kanálů, jsou čísla pro jednotlivé druhy oddělena pomlčkou
8. řádek: vzorkování a
pokud je a kladné, zmenšuje se a-krát, pokud je záporné, zvětšuje se (-a)krát
9. řádek: levý okraj výřezu
10. řádek: horní okraj výřezu
11. řádek: šířka výřezu
12. řádek: výška výřezu
76.2 Soubor
Název otvíraného nebo ukládaného souboru.
76.3 Délky
Délka otvíraného souboru.
76.4 Hlavička
Počet bajtů hlavičky.
76.5 Šířka
Počet sloupců obrazu (šířka).
76.6 Výška
Počet řádků obrazu (výška).
76.7 Patička
Počet bajtů patičky.
76.8 pixelový kanál z
Vlevo je pořadí vybíraného kanálu, vpravo je celkový počet pixelových kanálů.
Údaje z pixelových kanálů se střídají v souboru po jednotlivých pixelech.
76.9 řádkový kanál z
Vlevo je pořadí vybíraného kanálu, vpravo je celkový počet řádkových kanálů.
Údaje z řádkových kanálů se střídají v souboru po jednotlivých řádcích.
76.10 obrazový kanál z
Vlevo je pořadí vybíraného kanálu, vpravo je celkový počet obrazových kanálů.
Údaje z obrazových kanálů se střídají v souboru po celých obrazech.
76.11 Výřez
Bude se číst nebo zapisovat pouze výřez z obrázku. Vţdy je nutno nejprve potvrdit toto kontrolní
tlačítko a pak teprve vyplňovat parametry:
Levý kraj, Horní kraj, Šířka, Výška.
76.12 Levý kraj výřezu
ZODOP
155
Souřadnice levého okraje výřezu.
76.13 Horní kraj výřezu
Souřadnice horního okraje výřezu (odshora).
76.14 Šířka výřezu
Počet sloupců (šířka) výřezu.
76.15 Výška výřezu
Počet řádků (výška) výřezu.
76.16 Bitů/pixel
Volba počtu bitů na pixel 8 nebo 16. Při volbě 16 se však pracuje pouze s 8 vybranými bity.
76.17 bity posunu
Z 16 bitů bude vybráno 8 počínaje zde zadaným.
76.18 Prohoď MSB/LSB
Při potvrzení znamená, ţe jednotlivé bajty pixelu jsou v souboru uloţeny v opačném pořadí a je třeba je
prohodit.
76.19 Vzorkování - krát zmenšit
Pokud zde bude vyplněno číslo a, do obrázku se uloţí pouze kaţdý a-tý pixel (při čtení i při zápisu).
76.20 Vzorkování - krát zvětšit
Pokud zde bude vyplněno číslo a, do obrázku se uloţí kaţdý pixel a krát (při čtení i při zápisu).
76.21 Barva RGB
Obraz je ve 24-bitovém formátu. Počet kanálů musí být 3, je moţné zvolit pixelové, řádkové nebo
obrazové (implicitně) kanály.
76.22 Indexová barva
Obrázek je barevný a bude se číst/zapisovat i vyhledávací tabulka. Nejprve je třeba potvrdit toto
kontrolní tlačítko a pak teprve vyplnit parametr Offset.
Parametr Vyhledávací tabulka je jen pro čtení a vyplňuje se v dialogu o souboru při potvrzení tohoto
kontrolního tlačítka.
Zde je moţné pracovat pouze s vyhledávací tabulkou uloţenou binárně na 768 bajtech, vţdy 3 bajty
znamenající hodnotu červené, zelené a modré pro odpovídající index. S některými dalšími formáty umí
pracovat dialog Úprava palety.
76.23 Vyhledávací tabulka
Editační okénko jen pro čtení se jménem souboru s vyhledávací tabulkou.
76.24 Offset
Offset vyhledávací tabulky v souboru.
76.25 Hádej
156
ZODOP
Tato funkce se snaţí uhodnout rozměry obrázku z velikosti souboru. Bere přitom v úvahu vyplněné
údaje o počtech kanálů, počtu bitů na pixel a délce hlavičky. Sama nastavuje pouze údaje o šířce a
výšce obrazu a o délce patičky. Pracuje pouze při čtení ze souboru.
Z údajů o počtech kanálů, počtu bitů na pixel, délce hlavičky a patičky a délce souboru určí, kolik můţe
mít obrázek nejvýše pixelů. Tento údaj odmocní a hledá rozměry, které tento počet beze zbytku vyplní.
Tyto údaje postupně nabízí uţivateli dokud je poměr šířka : výška v rozmezí od 1:1 do 16:1. Při dalším
hledání zvětší patičku o jeden pixel a začne znovu. Pokud uţivatel zná některé z těchto tří údajů a
vyplní je, vyplní se pouze zbývající údaje.
76.26 Prohoď Š<->V
Zamění údaje o šířce a výšce obrazu.
76.27 Prohoď H<->P
Zamění údaje o délce hlavičky a patičky. Pokud víte, ţe soubor nemá ţádnou patičku, můţete pouţít
tlačítko Hádej a tímto tlačítkem pouţít odhadnutou délku patičky jako délku hlavičky.
76.28 Znovu
Smaţe údaje o šířce a výšce obrazu a o délce hlavičky a patičky a hádání rozměrů můţe začít znovu.
76.29 Zápis siz
Rozměry a ostatní údaje vyplněné v dialogovém okně se zapíší do souboru se stejným jménem jako
data, ale s příponou „.siz“ (viz formát siz souboru). Při dalším čtení souboru se pouţijí údaje z tohoto
siz souboru.
76.30 Zápis siz jako
Rozměry a ostatní údaje vyplněné v dialogovém okně se zapíší do souboru se zadaným jménem. Mělo
by mít příponu „.siz“ (viz formát siz souboru). Při dalším čtení souboru je moţné vyuţít údaje z tohoto
siz souboru.
76.31 Nezapisuj siz
Potvrzení tohoto tlačítka zabrání automatickému zápisu siz souboru při změně parametrů. To je
uţitečné při čtení obrazu z média chráněného proti zápisu, kdy pokus o zápis můţe způsobit pád
programu. Potvrzení nezabrání zápisu tlačítkem Zápis siz nebo Zápis siz jako.
76.32 OK
Provést zvolenou operaci čtení/zápis.
76.33 Zrušit
Zrušit dialog Formát holá data
76.34 Nápověda
Zobrazí se nápověda dialogu.
77. Jak vytvářet zásuvné moduly pro program ZODOP
Zásuvný modul je dynamicky připojovaná knihovna (Dynamicly Linked Library - DLL), která obsahuje
dvě funkce (vstupní body): PROWIPLUGININIT a PROWIPLUGINENTRY. Mají úmyslně dlouhá
jména, aby byla malá pravděpodobnost, ţe se náhodně objeví v jiné knihovně. Tyto funkce musejí být
deklarovány v c, v c++ se pouţívá direktiva extern "C" a dále direktivy PASCAL a EXPORT.
V případě, ţe zásuvný modul obsahuje bezmodelový dialog, musí zásuvný modul obsahovat ještě třetí
ZODOP
157
funkci, PRETRANSLATEMESSAGE, zajišťující správné zpracování zpráv z dialogu, viz dále.
Knihovna je připojována aţ při běhu programu, má proto buď samostatný projekt nebo samostatný cíl
(target). Projekt musí obsahovat soubor s příponou „.def“ s podobným obsahem:
LIBRARY "NAME"
DESCRIPTION 'NAME Windows Dynamic Link Library'
EXPORTS
PROWIPLUGINENTRY
PROWIPLUGININIT
(PRETRANSLATEMESSAGE)
NAME v první a druhé řádce je jméno zásuvného modulu.
Pouţívají se tzv. regulární dynamicky připojované knihovny, jejichţ vazba k hlavnímu programu je
volnější, je proto teoreticky moţné je vytvořit i jiným překladačem neţ je Microsoft Developer Studio,
na druhé straně neumoţňují výměnu tříd ani odkazů na ně mezi hlavním programem a zásuvným
modulem.
Existují dva druhy zásuvných modulů. Výkonné jsou určeny k vykonávání nějaké funkce a jsou volané
z menu. Formátové jsou určeny pro čtení a zápis obrazů v souborech nějakého daného formátu. Jsou
volané nepřímo prostřednictvím funkcí pro otvírání a ukládání obrazových souborů.
77.1 Inicializační funkce
Funkce PROWIPLUGININIT je volaná na začátku hlavního programu. Jejím účelem je sdělit
programu informace o sobě, o svém typu, o umístění v menu či o jménech obrazových formátů. Má
jako argument ukazatel na strukturu typu TAG_DLLI, kterou musí vyplnit údaji o sobě. Význam
jednotlivých poloţek této struktury se liší podle typu zásuvného modulu. Pro výkonné zásuvné moduly
mají poloţky tento význam:
int nest;
úroveň vnoření submenu, můţe být 0 aţ 2 (teoreticky aţ 8 - hodnota MAXNEST, ale
taková úroveň vnoření submenu v hlavním programu není);
int pos[MAXNEST];
pro indexy 0 aţ nest-1 nutno vyplnit pozici submenu v submenu o
úroveň výše, pro index nest pozici příkazu volání zásuvného modulu v posledním submenu;
int fashion[MAXNEST];
pro indexy 0 aţ nest-1 nutno vyplnit způsob určení pozice
submenu, pro index nest způsob určení pozice příkazu;
char *menustr[MAXNEST];
pro indexy 0 aţ nest-1 řetězec se jménem nově vytvořeného
submenu, pro index nest řetězec, který se objeví v menu jako příkaz volání zásuvného modulu;
char macrofunction[MAXFUNCNAME];
jméno funkce při volání z makra, maximálně 29
znaků. Implicitně je řetězec prázdný a funkci z makra volat nelze.
BOOL unfreeable;
hodnota TRUE znamená, ţe zásuvný modul nebude uvolněn z paměti
bezprostředně po skončení funkce PROWIPLUGINENTRY. Implicitní hodnota FALSE znamená ţe
bude.
BOOL withoutimage;
hodnota TRUE znamená, ţe zásuvný modul bude volatelný i kdyţ není
otevřen ţádný obraz. Implicitní hodnota FALSE znamená ţe nebude.
HANDLE hinst;
drţadlo instance zásuvného modulu, poskytuje hlavní program.
Poznámky:
Pozice v poloţce pos jsou číslovány vţdy od 0. Separátory jsou číslovány jako zvláštní poloţky.
V poloţce fashion v indexech 0 aţ nest-1 je moţno pouţít hodnoty:
158
ZODOP
DLLIM_FROM_BEGIN
(hodnota 0): Pozice je počítána od začátku submenu,
DLLIM_FROM_END
(hodnota 1): Pozice je počítána od konce submenu,
DLLIM_TO_END
ignorována,
(hodnota 2): Poslední pozice v submenu, hodnota pos je
DLLIM_TO_IDCOMMAND
identifikační číslem pos,
(hodnota 3): hodnota pos potom znamená umístit před příkaz s
DLLIM_EVER_NEW
(hodnota 4): pouţívá se vţdy v kombinaci (pomocí znaku | - OR bit
po bitu) s některou z předchozích hodnot a znamená vytvořit vţdy nové submenu.
Pokud je na dané pozici nalezeno submenu, pokračuje se v něm, pokud je nalezen příkaz a v menustr
je řetězec, vloţí se poloţka s tímto jménem před příkaz (v případě DLLIM_TO_END na konec
submenu). Submenu není moţné nalézt podle identifikačního čísla (DLLIM_TO_IDCOMMAND).
Hodnoty konstant jsou definovány v souboru "kernel.h". Pokud nechcete vytvářet nová submenu, stačí
zadat pouze řetězec s příkazem volání zásuvného modulu do poloţky menustr[nest], v indexu nest
určit submenu nebo příkaz a v niţších indexech určit submenu.
Pro formátové zásuvné moduly mají poloţky vstupní struktury tento význam:
int nest;
počet filtrů s popisem formátu, můţe být 1 aţ 8
int pos[MAXNEST];
pro indexy 0 aţ nest-1 při Uloţit jako bude
(DLLIM_SAVE_TEST, DLLIM_LIST_TEST) nebo nebude (DLLIM_NO_TEST) dotaz na zařazení
filtru do seznamu filtrů, při DLLIM_SAVE_TEST nebude nevhodný obraz uloţen ani kdyţ bude
příslušná přípona vypsána ručně,
int fashion[MAXNEST];
pro indexy 0 aţ nest-1 funkce, které zásuvný modul pro daný filtr
zajišťuje, pro index nest musí obsahovat hodnotu DLLIM_LOAD_SAVE (8), dává tak najevo, ţe si
zásuvný modul nepřeje být zařazen do menu;
char *menustr[MAXNEST];
pro indexy 0 aţ nest-1 řetězec se zněním filtru;
Poznámky:
V poloţce fashion v indexech 0 aţ nest-1 je moţno pouţít hodnoty:
DLLIM_LOAD_SAVE
(hodnota 8): formát pro čtení i zápis;
DLLIM_LOAD
(hodnota 9): formát jen pro čtení;
DLLIM_SAVE
(hodnota 10): formát jen pro zápis;
DLLIM_LOAD_SAVE_PREF
(hodnota 11): formát pro čtení a zápis i nových obrázků
DLLIM_LOAD_SAVE_LUT
palety;
(hodnota 12): formát pro čtení, zápis a čtení samotné
DLLIM_LOAD_LUT
(hodnota 13): formát pro čtení a čtení samotné palety;
DLLIM_LOAD_SAVE_PREF_LUT
čtení samotné palety;
(hodnota 14): formát pro čtení a zápis i nových obrázků a
DLLIM_LOAD_NOT_AS
příkazu Otevřít jako;
(hodnota 15): formát jen pro čtení, nebude zařazen do
DLLIM_PARTIAL_REVERT
(hodnota 16): formát umoţňuje částečné obnovení z disku,
pouţívá se vţdy v kombinaci (pomocí znaku | - OR bit po bitu) s některou z předchozích hodnot.
Hodnoty konstant jsou definovány v souboru "kernel.h". Řetězec se zněním filtru v poloţce menustr
má tvar "popis formátu\0seznam přípon\0", kde popis formátu musí být velmi stručný, maximálně okolo
35 znaků. Přípony v seznamu přípon mají tvar *.pri a jsou odděleny středníkem. Tento tvar vyţaduje
dialog pro získání jména souboru pro zařazení do komboboxu s filtry. Příklad filtru:
ZODOP
159
"PGM/PPM Gray/Pixel Map\0*.pgm;*.ppm\0".
Zápis nových obrázků znamená, ţe formát bude zařazen do seznamu filtrů v příkazech Uloţit vše a
Uloţit seznam pro případ nově utvořených obrazů dosud beze jména. Tento způsob činnosti
(DLLIM_LOAD_SAVE_PREF a DLLIM_LOAD_SAVE_PREF_LUT) by měl být pouţit pouze pro
formáty umoţňující zápis a zpětné čtení beze ztrát informace všech typů obrazů, se kterými program
pracuje.
Teoreticky je moţné vytvořit kombinovaný výkonný a formátový zásuvný modul. V poloţce nest pak
bude součet počtu filtrů a úrovně vnoření a v poloţkách s indexem nest budou údaje o řetězci
zařazeném do menu. V poloţkách s niţšími indexy budou libovolně promíchané údaje o filtrech a o
submenu. Údaje o submenu však musejí zachovávat pořadí mezi sebou.
Poloţku unfreeable je nutno nastavit na TRUE např. v případě, ţe zásuvný modul vytváří vlastní
bezmodelový dialog funkcí CreateDialog nebo obdobnou. Pokud si zásuvný modul přeje v tomto
případě být uvolněn z paměti hned jak je to moţné, můţe těsně před skončením posledního dialogu
poslat zprávu WM_USER hlavnímu oknu hlavního programu, s parametrem lparam obsahujícím
odkaz na strukturu poslaný jako parametr funkce PROWIPLUGINENTRY (viz dále), např.
PostMessage(pFrameWin_hWnd, WM_USER ,0,lpm);
Jak získat hodnoty pFrameWin_hWnd a lpm viz dále.
Funkce PROWIPLUGININIT vrací hodnotu typu int, která však není vyuţívána.
Aby bylo moţno ovlivnit pořadí, v jakém program zařazuje zásuvné moduly do menu, lze vyuţít
poloţky group_name a group_order vstupní struktury. Do poloţky group_name se uloţí jméno
skupiny zásuvných modulů a do poloţky group_order pořadí ve skupině zásuvných modulů. Při
inicializaci programu se nalezené zásuvné moduly seřadí podle těchto poloţek a to tak, ţe řetězce v
group_name se seřadí podle abecedy nejprve bez ohledu na velikost písmen a řetězce lišící se pouze
velikostí písmen se poté seřadí s ohledem na tuto velikost (velká písmena napřed). Pokud mají některé
zásuvné moduly tuto poloţku stejnou, seřadí se podle velikosti poloţky group_order interpretované
jako číslo. Poloţky group_name a group_order je nejlépe vytvořit v resource příslušného
zásuvného modulu jako řetězce s identifikátory IDS_GROUP a IDS_ORDER (1024 a 1025)
definovanými v souboru "pluginres.h" aby bylo moţno je kontrolovat bez přístupu ke zdrojovému
textu a přiřadit je příkazy:
LoadString(theApp.m_hInstance,IDS_GROUP,tag_dlli->group_name,MAXGROUP);
LoadString(theApp.m_hInstance,IDS_ORDER,tag_dlli->group_order,MAXORDER);
77.2 Výkonná funkce
Funkce PROWIPLUGINENTRY je volaná při zvolení příslušného příkazu uţivatelem v menu nebo
při otvírání a ukládání obrazových souborů, případně při zpracování příslušné funkce v makru. Jako
parametr má funkce ukazatel na strukturu TAG_DLLP, která obsahuje ukazatele na některé důleţité
funkce a proměnné z hlavního programu (původní funkce či proměnná má stejné jméno jako ukazatel
bez předpony „lp_“).
Funkce PROWIPLUGINENTRY vrací hodnotu typu int, která u výkonných zásuvných modulů při
volání z menu není vyuţívána, u formátových modulů a při volání z makra vrací nulu při úspěchu a
nenulovou hodnotu (zpravidla 1) při chybě.
Struktura TAG_DLLP má tyto poloţky:
lp_FileNew
ukazatel na funkci, která vytvoří nové obrazové okno a vyplní ho daty. Tato
funkce má 1 parametr:
image ukazatel na strukturu IMAGE obrazu (nejlépe vytvořenou funkcí
lp_CreateImage a s daty zapsanými programem - implicitně je obraz vyplněn nulami).
Funkce vrací 0, v případě neúspěchu 1.
lp_SetUndoImage
ukazatel na funkci, která starý obsah obrazového okna uloţí a obrazovému
oknu přiřadí nová obrazová data.
160
ZODOP
Má 2 parametry:
hWnd drţadlo obrazového okna, kterému se přiřazuje nový obsah
imagen ukazatel na strukturu IMAGE s novým obrazem
Funkce vrací hodnotu TRUE pokud se přiřazení zdařilo (pokud obrazové
okno existuje), jinak vrací FALSE.
lp_SetUndoSelection ukazatel na funkci, která uloţí starou vybranou oblast pro funkci Zpět a
alokuje paměť pro novou vybranou oblast. Má tyto parametry:
wimageo ukazatel na třídu okna s vybranou oblastí,
copy
při 2 se bude kopírovat nejvýznamnější bit staré oblasti do nové paměti,
při 1 se bude kopírovat stará oblast do nové paměti,
při 0 se nebude kopírovat a
při -1 se nealokuje paměť.
rcold ukazatel na strukturu RECT se souřadnicemi starého obdélníka opsaného
vybrané oblasti, při NULL bude nalezen podle dat.
Funkce vrací hodnotu TRUE při úspěchu, jinak vrací FALSE.
lp_CreateImage
ukazatel na funkci, která alokuje paměť pro strukturu IMAGE nového obrazu
a vyplní ji základními údaji o obrazu. Tato funkce má 2 parametry:
w šířka obrazu,
h výška obrazu,
d hloubka obrazových dat – můţe být 1, 2, 4, 8, 16, 24 nebo 32 bitů na pixel,
a při vytváření vektorového obrazu řetěz se jménem souboru s vektorovým obrazem,
jinak NULL. Při vytváření vektorového obrazu struktura pouze zpřístupňuje data, která musí být
uloţena v souboru. V tom případě se ignorují ostatní argumenty.
Funkce vrací ukazatel na nově vytvořený obraz, při neúspěchu NULL.
lp_DestroyImage
ukazatel na funkci, která uvolní paměť alokovanou pro obraz. Má 1
parametr:
image ukazatel na strukturu IMAGE, která má být odstraněna.
Funkce vrací NULL, při neúspěchu ukazatel na obraz.
lp_DuplicateImage
ukazatel na funkci, která vytvoří kopii obrazové struktury. Má 1 parametr:
image ukazatel na strukturu IMAGE, která se bude kopírovat.
Funkce vrací ukazatel na kopii struktury IMAGE.
lp_CopyImageData
ukazatel na funkci, která kopíruje obrazová data z jedné obrazové struktury
IMAGE do druhé včetně případného alfa kanálu. Má 2 parametry:
s_image ukazatel na zdrojovou obrazovou strukturu,
d_image ukazatel na cílovou obrazovou strukturu,
Funkce nevrací hodnotu.
lp_CopyImageAlpha ukazatel na funkci, která kopíruje alfa kanál z jedné obrazové struktury
IMAGE do druhé. Má 2 parametry:
s_image ukazatel na zdrojovou obrazovou strukturu,
ZODOP
161
d_image ukazatel na cílovou obrazovou strukturu,
Funkce nevrací hodnotu.
lp_CopyImagePal
ukazatel na funkci, která kopíruje paletu z jedné obrazové struktury IMAGE
do druhé. Má 2 parametry:
s_image ukazatel na zdrojovou obrazovou strukturu,
d_image ukazatel na cílovou obrazovou strukturu,
Funkce nevrací hodnotu.
lp_PutImageRow
ukazatel na funkci, která kopíruje část jednoho řádku obrazových dat ze
zadaného bufferu do obrazové struktury. Má 5 parametrů:
image ukazatel na výslednou obrazovou strukturu IMAGE do které se bude
kopírovat,
x souřadnice začátku kopírování,
y souřadnice řádku,
dn ukazatel na buffer s kopírovanými daty,
cb počet kopírovaných pixelů. Pokud je záporný, kopíruje se v opačném pořadí,
ch číslo kanálu. Pro 1- aţ 8-bitové obrazy musí být 0, pro 24-bitové 0 – modrá, 1 –
zelená, 2 – červená.
Funkce vrací hodnotu -1 pokud image nebo image->pData není korektní,
jinak 0.
lp_GetImageRow
ukazatel na funkci, která kopíruje část jednoho řádku obrazových dat z
obrazové struktury do zadaného bufferu. Má 5 parametrů:
image ukazatel na zdrojovou obrazovou strukturu IMAGE ze které se bude
kopírovat,
x souřadnice začátku kopírování,
y souřadnice řádku,
dn ukazatel na buffer se získanými daty,
cb počet kopírovaných pixelů. Pokud je záporný, kopíruje se v opačném pořadí.
ch číslo kanálu. 0 – index, -1 – jas, -2 – tón, -3 – sytost, -4 – červená, -5 – zelená, -6
– modrá. pro 24-bitové obrazy navíc 0 – modrá, 1 – zelená, 2 – červená.
Funkce vrací hodnotu -1 pokud image nebo image->pData není korektní,
jinak 0.
lp_PutImageCol
na funkci, která kopíruje část jednoho sloupce obrazových dat ze zadaného
bufferu do obrazové struktury. Má 5 parametrů:
image ukazatel na výslednou obrazovou strukturu IMAGE do které se bude
kopírovat,
x souřadnice sloupce,
y souřadnice začátku kopírování,
dn ukazatel na buffer s kopírovanými daty,
cb počet kopírovaných pixelů. Pokud je záporný, kopíruje se v opačném pořadí.
162
ZODOP
ch číslo kanálu. Pro 1- aţ 8-bitové obrazy musí být 0, pro 24-bitové 0 – modrá, 1 –
zelená, 2 – červená.
Funkce vrací hodnotu -1 pokud image nebo image->pData není korektní,
jinak 0.
lp_GetImageCol
ukazatel na funkci, která kopíruje část jednoho sloupce obrazových dat z
obrazové struktury do zadaného bufferu. Má 5 parametrů:
image ukazatel na zdrojovou obrazovou strukturu IMAGE ze které se bude
kopírovat,
x souřadnice sloupce,
y souřadnice začátku kopírování,
dn ukazatel na buffer se získanými daty,
cb počet kopírovaných pixelů. Pokud je záporný, kopíruje se v opačném pořadí.
ch číslo kanálu. 0 – index, -1 – jas, -2 – tón, -3 – sytost, -4 – červená, -5 – zelená, -6
– modrá. pro 24-bitové obrazy navíc 0 – modrá, 1 – zelená, 2 – červená.
Funkce vrací hodnotu -1 pokud image nebo image->pData není korektní,
jinak 0.
lp_PutImagePixel
ukazatel na funkci, která kopíruje hodnotu jednoho pixelu obrazových dat z
obrazové struktury do zadaného bufferu. Má 4 parametry:
image ukazatel na zdrojovou obrazovou strukturu IMAGE ze které se bude
kopírovat,
x souřadnice vodorovně,
y souřadnice svisle,
dn ukazatel na buffer se získanými daty, musí mít 1 aţ 3 bajty podle hloubky obrazu.
Funkce vrací hodnotu -1 pokud image nebo image->pData není korektní,
jinak 0.
lp_GetImagePixel ukazatel na funkci, která kopíruje hodnotu jednoho pixelu obrazových dat ze
zadaného bufferu do obrazové struktury. Má 4 parametry:
image ukazatel na zdrojovou obrazovou strukturu IMAGE ze které se bude
kopírovat,
x souřadnice sloupce,
y souřadnice začátku kopírování,
dn ukazatel na buffer se vstupními daty, musí mít 1 aţ 3 bajty podle hloubky obrazu.
Funkce vrací hodnotu -1 pokud image nebo image->pData není korektní,
jinak 0.
lp_MacroProgress
ukazatel na funkci, která při volání zásuvného modulu z makra zobrazí
v dialogu makra, jaká část v procentech probíhající operace je hotova. Má 2 parametry:
percent kolik procent je hotovo,
caption popis probíhající operace.
Funkce vrací hodnotu TRUE pokud makro běţí, jinak vrací FALSE. Je
určena pro systémové účely.
ZODOP
163
lp_InputBoxValue
na funkci, která vytvoří jednoduchý dialog umoţňující zadat jednu číselnou
hodnotu (typu double). Má 5 parametrů:
stext ukazatel na řetězec, který se objeví nad editačním okénkem s vkládaným
údajem,
stitle ukazatel na řetězec s titulem dialogu,
v implicitní hodnota zadávaného údaje,
d hodnota, kterou funkce vrátí, pokud bylo zmáčknuto zrušit dialog,
help_call ukazatel na strukturu HELP_CALL, která obsahuje v první poloţce
helpfile ukazatel na řetězec se jménem souboru s nápovědou a ve druhé poloţce
contextnumber kontextové číslo poloţky, která se má objevit po zmáčknutí tlačítka
Nápověda. Pokud je ukazatel na strukturu NULL, tlačítko Nápověda je skryto.
Funkce vrací získanou hodnotu. Pokud uţivatel zvolil zrušit dialog, vrací d.
lp_InputBoxString
na funkci, která vytvoří jednoduchý dialog umoţňující zadat jeden řetězec.
Má 4 parametry:
stext ukazatel na řetězec, který se objeví nad editačním okénkem s
vkládaným
údajem,
stitle ukazatel na řetězec s titulem dialogu,
sstr implicitní zadávaný řetězec. Tento i výsledný řetězec můţe mít nejvýše 255
znaků.
help_call ukazatel na strukturu HELP_CALL, která obsahuje v první poloţce helpfile ukazatel
na řetězec se jménem souboru s nápovědou a ve druhé poloţce contextnumber kontextové
číslo poloţky, která se má objevit po zmáčknutí tlačítka Nápověda. Pokud je ukazatel na
strukturu NULL, tlačítko Nápověda je skryto.
Funkce vrací ukazatel na získaný řetězec. Pokud uţivatel zvolil zrušit dialog,
vrací NULL.
lp_FileHook
ukazatel na hákovou funkci obsluhující případné tlačítko Nápověda. Je určen
pro přiřazení do poloţky lpfnHook struktury OPENFILENAME. Má 4 parametry:
hwnd handle dialogového okna,
msg přijatá zpráva,
wparam první parametr zprávy,
lparam druhý parametr zprávy;
Funkce vrací hodnotu 1 pro zprávy WM_COMMAND pro tlačítko
Nápověda a WM_DESTROY, jinak vrací 0.
lp_showtext
ukazatel na funkci, která zobrazí obsah souboru. Má tyto 2 parametry:
fname jméno souboru a
hWndp ukazatel na třídu okna vlastnícího okno se zobrazovaným souborem.
Funkce nevrací hodnotu.
ukazatel na funkci, která vrací poţadovanou hodnotu pixelu. Má tyto 3
lp_YHS
parametry:
image ukazatel na aktuální obrazovou strukturu IMAGE,
x ukazatel na index pixelu v paletě, u obrazů v RGB módu ukazatel na pole 3 sloţek
RGB,
c kód poţadované hodnoty:
164
ZODOP
1 vrací jas
2 vrací tón přepočtený do intervalu 0 aţ 255
3 vrací sytost přepočtenou do intervalu 0 aţ 255
4 vrací obsah červené
5 vrací obsah zelené
6 vrací obsah modré
jiná hodnota vrací nulu.
Způsob výpočtu jasu, tónu a sytosti je moţné nalézt v kapitole Rozdělit na YHS.
lp_YHStoRGB
ukazatel na funkci, která přepočítá barvu v souřadnicích YHS do souřadnic
RGB. Má tyto 3 parametry:
r na vstupu ukazatel na souřadnici Y, na výstupu ukazatel na souřadnici R,
g na vstupu ukazatel na souřadnici H, na výstupu ukazatel na souřadnici G,
b na vstupu ukazatel na souřadnici S, na výstupu ukazatel na souřadnici B.
Funkce nevrací hodnotu.
Způsob výpočtu červené, zelené a modré sloţky je moţné nalézt v kapitole
Spojit v odstavci YHS.
lp_RGBtoYHS
ukazatel na funkci, která přepočítá barvu v souřadnicích RGB do souřadnic
YHS. Má tyto 3 parametry:
y na vstupu ukazatel na souřadnici R, na výstupu ukazatel na souřadnici Y,
h na vstupu ukazatel na souřadnici G, na výstupu ukazatel na souřadnici H,
s na vstupu ukazatel na souřadnici B, na výstupu ukazatel na souřadnici S.
Funkce nevrací hodnotu.
Způsob výpočtu jasu Y, tónu H a sytosti S je moţné nalézt v kapitole
Rozdělit na YHS.
lp_Progress
ukazatel na funkci, která ve stavové liště hlavního okna zobrazí příslušný
počet procent hotového výsledku. Má tyto 3 parametry:
percent celočíselný počet procent hotového výsledku,
caption řetězec s popisem funkce,
interruptable při TRUE bude volající funkce přerušitelná pomocí klávesy Pause,
při FALSE nebude.
Při přerušení vrací funkce -1, jinak 0.
lp_GetPaperUsefulSize ukazatel na funkci, která při w a h různém od NULL vrací rozměry papíru
nastaveného pro tisk v desetinách mm. Pokud je nastavená orientace na výšku, bude h>=w,
při orientaci na šířku bude w>=h. Při image různém od NULL a xr a yr kladných nastaví
velikost obrazu na papíře podle xr a yr a polohu obrazu doprostřed papíru. Pokud je obraz
příliš velký, nastaví hustotu na minimum tak, aby se obraz ještě vešel na papír. Má těchto 5
parametrů:
w ukazatel na šířku,
h ukazatel na výšku,
ZODOP
165
maror ukazatel, na vstupu kód okrajů (0 w a h bez okrajů, 1 včetně levého a horního
okraje, 2 včetně pravého a dolního okraje, 3 včetně okrajů), na výstupu orientace (1 na výšku, 2
na šířku),
image ukazatel na obraz,
xr hustota tisku vodorovně a
yr hustota tisku svisle.
Funkce nevrací hodnotu.
lp_synterror ukazatel na funkci, která ohlásí syntaktickou chybu při provádění makra. Má tyto 3
parametry:
s řetězec s chybovým hlášením,
nl číslo řádku v makru, kde došlo k chybě,
nc číslo sloupce v makru, kde došlo k chybě,
Funkce nevrací hodnotu.
lp_strcmpsi ukazatel na funkci, která porovná dva řetězce bez ohledu na velikost písmen a bez ohledu
na háčky, čárky a krouţky. Má tyto 2 parametry:
a první řetězec
b druhý řetězec
Funkce vrací 0, pokud po převedení obou řetězců na velká písmena bez
znamének jsou stejné, -1, pokud je a<b a 1, pokud je a>b.
lp_UpdateStatusBar ukazatel na funkci, která překreslí stavovou lištu hlavního okna. Má 1
parametr:
index 0 – překreslí se celá lišta, 1 aţ 4 – překreslí se pouze jedno pole (1 paleta, 2
rozměry, 3 souřadnice, 4 komentář).
Funkce nevrací hodnotu.
lp_ImageRefresh ukazatel na funkci, která překreslí obrazové okno. Má 2 parametry:
hWnd drţadlo okna,
bErase při TRUE, bude před překreslením smazáno, FALSE nebude.
Funkce nevrací hodnotu.
lp_ModelessDlgPosition ukazatel na funkci, která nastaví novou pozici bezmodelového dialogu.
Má 3 parametry:
rc0 struktura RECT se stávající polohou okna,
x nová poloha okna vodorovně,
y nová poloha okna svisle.
Funkce nevrací hodnotu. Je určena pro systémové účely.
lp_DllDlgListAddTail ukazatel na funkci, která přidá prvek do seznamu dialogů otevřených
v zásuvných modulech. Má 1 parametr:
NewElement ukazatel na strukturu s údaji o novém dialogu.
Funkce vrací ukazatel na pozici nového prvku v seznamu. Je určena pro
systémové účely.
166
ZODOP
lp_DllDlgListRemoveAt ukazatel na funkci, která odstraní prvek ze seznamu dialogů otevřených
v zásuvných modulech. Má 1 parametr:
position ukazatel na pozici odstraňovaného prvku (zavíraného dialogu) v seznamu.
Funkce nevrací hodnotu. Je určena pro systémové účely.
lp_GetFirstImagePosition ukazatel na funkci, která vrací ukazatel na první prvek v seznamu
otevřených obrazových oken. Nemá parametry.
lp_GetNextImagePosition ukazatel na funkci, která nalezne další obraz v seznamu. Má 1 parametr:
pos adresa ukazatele na pozici aktuálního obrazového okna v seznamu otevřených
obrazových oken.
Funkce vrací ukazatel na strukturu IMAGE nalezeného obrazu. Chcete-li
prozkoumat všechny otevřené obrazy, najděte napřed hodnotu ukazatele na první
obraz funkcí lp_GetFirstImagePosition a ten pak pouţijte jako parametr této
funkce volané v cyklu za podmínky, ţe obsah pos je různý od NULL.
lp_GetScale ukazatel na funkci, která vrací měřítko obrazu (typu float). Má 1 parametr:
hWnd drţadlo obrazu.
lp_SetScale ukazatel na funkci, která nastavuje měřítko obrazu. Má 4 parametry:
hWnd drţadlo obrazu.
scale nové měřítko.
xpt vodorovná souřadnice bodu, který by se měl pokud moţno zachovat.
ypt svislá souřadnice bodu, který by se měl pokud moţno zachovat.
Pokud na poloze skrolbaru po změně měřítka nezáleţí, zadejte xpt a ypt nulové.
lp_GetScrollPosition ukazatel na funkci, která získá souřadnice skrol-pozice obrazového okna. Má
1 parametr:
hWnd drţadlo obrazu.
Funkce vrací souřadnice ve struktuře typu POINT.
lp_ScrollToPosition
parametry:
ukazatel na funkci, která nastaví skrol-pozici obrazového okna. Má 2
hWnd drţadlo obrazu,
Pt struktura typu POINT se souřadnicemi nové skrol-pozice.
Funkce nevrací hodnotu.
lp_ReleaseFloatingToolbar ukazatel na funkci, která zruší funkci zvolenou na plovoucí nástrojové
liště. Nemá parametry a nevrací hodnotu. Je určena pro systémové účely.
ZODOP
167
lp_GetImageFromHwnd ukazatel na funkci, která vrací ukazatel na strukturu IMAGE obrazu
daného jeho drţadlem. Má 1 parametr:
hWnd drţadlo obrazu.
lp_GetHwndFromImage ukazatel na funkci, která vrací drţadlo obrazu daného ukazatelem na jeho
strukturu IMAGE. Má 1 parametr:
image ukazatel na strukturu IMAGE otevřeného obrazového okna.
lp_GetImageOrder ukazatel na funkci, která vrací pořadí otevřeného obrazu mezi obrazy se stejným
jménem. Hodnota 0 znamená, ţe jiný obraz se stejným jménem není otevřen. Má 1 parametr:
hWnd drţadlo obrazu.
lp_GetImageFromLabel ukazatel na funkci, která vrací drţadlo obrazu s danou značkou. Má 1
parametr:
label celočíselná značka obrazu.
lp_SetImageLabel ukazatel na funkci, která obrazu přiřadí značku.
hWnd drţadlo obrazu.
label nezáporná celočíselná značka obrazu.
Funkce vrací 0, pokud byl obraz s daným drţadlem nalezen a značka je
platná, jinak vrací 2. Značky jsou určeny především pro práci s makry.
lp_CreateExtra ukazatel na funkci, která v obrazové struktuře IMAGE vyhradí část paměti o
velikosti size bajtů pro informace týkající se zásuvného modulu. Má 3 parametry:
image ukazatel na strukturu IMAGE,
size velikost bloku paměti v bajtech,
id identifikační číslo zásuvného modulu.
Funkce vrací ukazatel na získanou paměť.
lp_FindExtra ukazatel na funkci, která vrací ukazatel na blok paměti vyhrazený ve struktuře IMAGE
pro daný zásuvný modul. Pokud zásuvný modul vyhradil více bloků, vrací ukazatel na první
z nich, pokud nevyhradil ţádný, vrací NULL. Má 2 parametry:
image ukazatel na strukturu IMAGE,
id identifikační číslo zásuvného modulu.
lp_TestEmptySel ukazatel na funkci, která nastaví obdélník v obrazu jako obdélník opsaný aktuální
vybrané oblasti. Pokud je vybraná oblast prázdná, nastaví obdélník přes celý obraz. V tom
případě vrací TRUE, jinak FALSE. Má 1 parametr:
image ukazatel na strukturu IMAGE,
lp_lp_FileOpen ukazatel na funkci, která zobrazí dialog pro volbu souboru a z vybraného souboru
pak otevře obraz. Nemá parametry. Při selhání vrací funkce -1, jinak 0.
168
ZODOP
lp_FileSaveAs ukazatel na funkci, která zobrazí dialog pro volbu souboru a do vybraného souboru
pak uloţí zdrojový obraz. Nemá parametry. Při selhání vrací funkce -1, jinak 0.
lp_lp_FileOpenByName ukazatel na funkci, která otevře obraz z daného souboru. Má 3 parametry:
fspec jméno souboru včetně cesty,
fi formát souboru se určuje podle koncovky. Pokud máte více zásuvných modulů pro
čtení stejného formátu, můţete zadáním jiné hodnoty neţ nuly určit zásuvný modul, který bude
pouţit.
flags hodota 2 potlačí chybová hlášení (pokud pouţitý zásunvý modul tuto funkci
podporuje), hodnota 0 znamená standardní čtení.
V případě úspěchu vrací ukazatel na otevřený obraz, jinak NULL.
lp_FileSaveByName ukazatel na funkci, která uloţí obraz do souboru pod daným jménem. Má 4
parametry:
image ukazatel na strukturu IMAGE,
fspec jméno souboru včetně cesty,
fi formát souboru se určuje podle koncovky. Pokud máte více zásuvných modulů pro
zápis stejného formátu, můţete zadáním jiné hodnoty neţ nuly určit zásuvný modul, který bude
pouţit.
flags hodota 2 potlačí chybová hlášení (pokud pouţitý zásunvý modul tuto funkci
podporuje), hodnota 0 znamená standardní čtení.
Při selhání vrací funkce -1, jinak 0.
lp_FileDestroy ukazatel na funkci, která zavře zdrojový obraz. Nemá parametry. Při selhání vrací
funkce -1, jinak 0.
lp_CountSameNames ukazatel na funkci, která obnoví jména obrazů v seznamu otevřených obrazů
v menu. Má 2 parametry:
hWnd drţadlo okna, u kterého nastala změna
Append tento parametr říká, co se s oknem děje
0: okno bude zavřeno
1: okno bylo právě otevřeno nebo obraz v okně změnil název
2: obraz v okně si vyměnil název s obrazem v jiném okně
lp_GetMultilayerRectangle ukazatel na funkci, která zpřístupňuje některé charakteristiky
obrazového okna. Má 3 parametry:
hWnd drţadlo okna, u kterého nastala změna
rcflag ukazatel na vlajky s tímto významem
0: standardní obrazové okno s jedním obrazem
1: okno s vícevrstvým obrazem
3: okno s vícevrstvým obrazem a s obdélníkovou vybranou oblastí
rc ukazatel na strukturu FLOATRECT se souřadnicemi vybraného obdélníka.
ZODOP
169
lp_SetMultilayerRectangle ukazatel na funkci, která umoţňuje nastavit některé charakteristiky
obrazového okna. Má 3 parametry:
hWnd drţadlo okna, u kterého nastala změna
rcflag nové hodnoty vlajek s tímto významem
0: standardní obrazové okno s jedním obrazem
1: okno s vícevrstvým obrazem
3: okno s vícevrstvým obrazem a s obdélníkovou vybranou oblastí
rc ukazatel na strukturu FLOATRECT s novými souřadnicemi vybraného obdélníka.
lp_ReadCoords ukazatel na funkci, která umoţňuje práci s dodatečnými souřadnicemi v obrazu
v poloţce pCoords obrazové struktury IMAGE. Má parametry:
image ukazatel na strukturu IMAGE,
PreserveCurrent kód poţadované činnosti:
0: z příslušného tfw souboru budou přečteny nové souřadnice, i kdyţ
v obrazu jiţ existují staré
1: z příslušného tfw souboru budou přečteny nové souřadnice, pouze pokud
v obrazu dosud ţádné neexistují
2: pokud v obrazu dosud ţádné neexistují, bude pro ně alokována paměť.
lp_DataExtent ukazatel na funkci, která určí rozsah dat obrazu v pixelech při daném měřítku. Má 4
parametry:
image ukazatel na strukturu IMAGE,
scale měřítko,
wr sem bude uloţen rozsah dat vodorovně,
hr sem bude uloţen rozsah dat svisle.
lp_CoordExtent ukazatel na funkci, která určí rozsah souřadnic obrazu. Pokud jsou v něm definované
dodatečné souřadnice, pouţijí se pro výpočet, jinak je výsledek v pixelech. Má 9 parametrů:
image ukazatel na strukturu IMAGE,
xmin minimální souřadnice vodorovně,
xmax maximální souřadnice vodorovně,
ymin minimální souřadnice svisle,
ymax maximální souřadnice svisle,
w rozsah dat vodorovně (xmax - xmin),
h rozsah dat svisle (ymax - ymin),
jmin minimální rozlišení,
jmax maximální rozlišení.
Údaj o rozlišení má smysl pouze u rastrového obrazu s dodatečnými souřadnicemi,
jinak je 1. Minimální a maximální rozlišení se můţe lišit pouze u vícevrstvého obrazu.
lp_CoordOneImageExtent ukazatel na funkci, která určí rozsah souřadnic obrazu. Na rozdíl
lp_CoordExtent pracuje pouze s jednou vrstvou vícevrstvého obrazu. Pokud jsou v něm
170
ZODOP
definované dodatečné souřadnice, pouţijí se pro výpočet, jinak je výsledek v pixelech. Má 8
parametrů:
image ukazatel na strukturu IMAGE,
xmin minimální souřadnice vodorovně,
xmax maximální souřadnice vodorovně,
ymin minimální souřadnice svisle,
ymax maximální souřadnice svisle,
w rozsah dat vodorovně (xmax - xmin),
h rozsah dat svisle (ymax - ymin),
j rozlišení.
Údaj o rozlišení má smysl pouze u rastrového obrazu s dodatečnými souřadnicemi,
jinak je 1.
lp_fill
ukazatel na proměnnou. Pokud bude nastavena na TRUE, budou se obrazová okna
před překreslením (občerstvením) mazat. Implicitně je FALSE.
lp_BackgroundIndex ukazatel na aktuální barvu. V prvním bajtu je index barvy pro obrazy
v indexových barvách a pro černobílé a v dalších 3 bajtech je postupně modrá, zelená a
červená sloţka barvy pro obrazy v RGB modu.
lp_sort_colors ukazatel na 3-bajtové pole se třemi kriterii pro třídění barev tak, jak byla zvolena
v dialogu pro změnu palety. Pokud jsou 2 barvy stejné podle jednoho kriteria, pouţije se
další. Význam hodnot: 0 ţádné, 1 jas, 2 tón, 3 sytost, 4 červená, 5 zelená, 6 modrá.
lp_helppath
ukazatel na řetězec se jménem souboru s nápovědou hlavního programu,
lp_wSImage_hWnd
drţadlo zdrojového obrazového okna. Zásuvný modul by měl data z
tohoto okna pouţívat jako vstupní, pokud potřebuje vstupní obrazová data.
lp_wDImage_hWnd
drţadlo druhého obrazového okna. Zásuvný modul by měl data z
tohoto okna pouţívat jako druhá vstupní, pokud potřebuje vstupní obrazová data ze dvou
obrazů.
pFrameWin_hWnd
drţadlo hlavního okna hlavního programu.
hInstance
drţadlo (handle) instance hlavního programu. Pro bezpečné pouţití je lépe,
kdyţ si zásuvný modul tuto hodnotu uloţí do vlastní proměnné.
lp_macroruns ukazatel na indikátor, ţe běţí makro.
lp_wSDlg
ukazatel na drţadlo posledního dialogu.
i
číslo zásuvného modulu, které mu přidělil hlavní program. Tato hodnota je
platná pouze v okamţiku volání a zásuvný modul by si jí měl uloţit do vlastní proměnné. Je
důleţitá např. pro vytvoření vlastního dialogu.
lp_dlld
pole struktur TAG_DLLD, ve kterých si hlavní program schovává informace o
zásuvných modulech. Tyto struktury obsahují řetězec plugin_names se jménem souboru
zásuvného modulu, drţadlo instance hinstlib získaný pomocí funkce LoadLibrary při
volání zásuvného modulu, počet nmodelessdlg právě otevřených bezmodelových dialogů
a hodnotu příznaku unfreeable.
npi
počet nalezených zásuvných modulů.
ZODOP
lp_dllf
171
pole struktur TAG_DLLF, ve kterých si hlavní program schovává informace
o formátových filtrech. Tyto struktury obsahují řetězec plugin_filter s filtrem, ip číslo
zásuvného modulu s tímto filtrem, ns počet přípon ve filtru, ac kód zajišťovaných funkcí, fn
pořadí filtru v zásuvném modulu, st druh dotazu při tvorbě seznamu filtrů pro Uloţit jako,
sa odpověď zásuvného modulu na tento dotaz.
nfi
počet nalezených filtrů.
actioncode
kód činnosti, která je po zásuvném modulu vyţadována. Můţe být:
-1 Volání z makra
0 Volání z menu
1 Otevřít
2 Otevřít jako
3 Uloţit jako
4 Uloţit
5 Přečíst samotnou paletu
6 Dotaz, jakou příponu si zásuvný modul přeje pro daný obraz,
7 Dotaz, zda daný filtr má být pro daný obraz zařazen do seznamu.
8 Obnovit z disku
9 Částečně obnovit z disku
filternumber
pořadí zvoleného filtru v zásuvném modulu počínaje nulou - index, pod
kterým byl uveden v inicializační funkci. Při volání výkonného modulu z makra pořadí
posledního argumentu.
fspec
jméno souboru, se kterým má formátový zásuvný modul pracovat. Při volání
výkonného modulu z makra řetězec s argumentem.
image
ukazatel na obrazovou strukturu zdrojového obrazu, se kterou má zásuvný
modul pracovat.
dimage
ukazatel na obrazovou strukturu druhého obrazu.
revertrect
ukazatel na strukturu RECT se souřadnicemi obdélníka, v němţ je třeba
obnovit data při částečném obnovení z disku, při jiných činnostech je ignorován.
j
pořadí argumentu makra
nl
číslo řádku v makru
nc
číslo sloupce v makru
strfl
příznak řetězcového argumentu (1=řetězec, 0=jiný).
Poznámky:
Aby mohla vstupní strukturu vyuţívat téţ obsluţná procedura dialogu, je vhodné ukazatel na strukturu
uloţit do globální proměnné, např. lpm. Toto budeme předpokládat i v dalších příkladech.
77.3 Výkonná funkce a formátové zásuvné moduly
Poloţky image a revertrect mají význam pouze pro formátové zásuvné moduly, výkonné by je měly
ignorovat.
Při čtení obrazu (kód činnosti 1, 2 a 8) je v poloţce image NULL a zásuvný modul v ní vrací ukazatel
na obrazovou strukturu, kterou vytvořil (lp_CreateImage) a naplnil daty ze souboru. Při uţivatelském
zrušení operace lze v image vrátit 1. Při zápisu (kód činnosti 3 a 4) je v poloţce image ukládaný
obraz. Při čtení palety (kód činnosti 5) je v poloţce image obraz, do kterého zásuvný modul zapisuje
čtenou paletu. Kód činnosti 6 znamená, ţe v poloţce fspec je ukazatel na proměnnou typu char, do
které má zásuvný modul dát pořadí (1 aţ 127) přípony ve filtru, kterou chce pro obraz v poloţce image
pouţít. U zásuvných modulů, které pouţívají pouze 1 příponu pro kaţdý formát, nemůţe tento kód
172
ZODOP
činnosti nastat. Podobně při kódu činnosti 7, pokud v inicializační funkci byla do poloţky pos pro
daný filtr uloţena hodnota DLLIM_LIST_TEST, má zásuvný modul vrátit v fspec 1, pokud si pro
daný obraz nepřeje zařadit daný filtr do seznamu filtrů v dialogu Uloţit jako, např. proto, ţe daný typ
obrazu neumoţňuje zapsat a 0, pokud si přeje. Hodnota DLLIM_SAVE_TEST znamená, ţe obraz
nebude při vrácené hodnotě 1 zapsán, ani kdyţ uţivatel vypíše v dialogu příslušnou příponu ručně. Při
hodnotě DLLIM_NO_TEST nemůţe tento kód činnosti nastat. Při částečném obnovení z disku (kód
činnosti 9) je v poloţce image obraz, do něhoţ má modul zapsat obrazová data přečtená ze souboru, a
to na souřadnice v obdélníku v revertrect včetně levého a horního okraje a vyjma pravého a dolního
okraje. Poloţka filternumber umoţňuje identifikovat poţadovaný formát v případech, kdy zásuvný
modul pracuje s více formáty, tedy i s více filtry.
Pokud si zásuvný modul potřebuje při čtení obrazu zapamatovat nějaké údaje o něm, která potřebuje
např. pro zápis nebo obnovení, můţe je uloţit do struktury, alokovat pro ni paměť funkcí malloc nebo
calloc a ukazatel na ni uloţit do poloţky Extra struktury IMAGE vytvořeného obrazu. Vytvořená
struktura musí jako první poloţku obsahovat svoji délku v bajtech uloţenou jako int. Příslušný počet
bajtů je pak chráněn při kopírování obrazu funkcí lp_DuplicateImage.
77.4 Přístup k obrazovým datům
Při standardním zpracování se vyskytují dvě základní moţnosti, jak zobrazit zpracovaná data. Zásuvný
modul je můţe zobrazit buď do nového obrazového okna nebo do zdrojového okna odkud získal
vstupní data. V prvním případě můţe být postup následující:
IMAGE *image;
image=(*lpm->lp_ImageNew)(w,h); // vytvoření nové obrazové struktury
...
/* vyplnění obrazových dat v image->hData */
...
(*lpm->lp_FileNew)(image); // vytvoření nového obrazového okna
V druhém případě je standardní postup tento:
IMAGE *image;
ImageWin *wHImage;
wHImage=(*lpm->lp_wSImage);
image = (*lpm->lp_DuplicateImage)(wHImage->Image);/*
struktury zdrojového obrazu */
vytvoření
kopie
(*lpm->lp_CopyImageData)(wHImage->Image,image); /* kopírování dat ze
obrazu */
obrazové
zdrojového
...
/* vyplnění obrazových dat v image->hData */
...
(*lpm->lp_SetUndoImage)(wHImage,image); /* přiřazení nových dat zdrojovému obrazu a
nastavení funkce zpět */
Funkce CreateImage a DestroyImage je moţné pouţít pro vytvoření a zničení dočasné obrazové
struktury.
V obrazové struktuře IMAGE (definované v „kernel.h“) jsou 2 palety Pal a LUT. Pal se pouţívá pro
mapování do palety Windows, LUT pro kreslení obrazu. Je proto vhodné změny palety provádět napřed
v LUT a nakonec je zkopírovat do Pal.
V této obrazové struktuře je také poloţka flags, jejíţ bit č. 1 říká, zda při uzavření obrazového okna
bude dotaz na uloţení snímku. Nastavení image->flags |= 2; znamená, ţe je. Nastavení image>flags &= ~2; znamená, ţe není.
ZODOP
173
Funkce PutImageRow, GetImageRow, PutImageCol a GetImageCol umoţňují přístup
k obrazovým datům, kromě toho je moţný přímý přístup k datům. Data jsou uloţena po řádcích
odspodu (!) s mezerami, image->hres je délka řádku, image->scansize je vzdálenost řádků.
77.5 Funkce pro vytvoření dialogu
Jako vlastníka dialogu (1. parametr funkce PluginDialog) je vhodné pouţít lpm->pFrameWin nebo
ukazatel na třídu jiného dialogu přetypovaný na Window*, pokud chcete vytvářet synovské dialogy
hlavního dialogu. Jako 7. parametr je potřeba pouţít adresu globální proměnné typu ukazatel na třídu
Plugindlg, např.
Plugindlg *dialog;
a jako parametr pak pouţít &dialog. Lze pak vyuţít některé poloţky ze tříd, které Plugindlg dědí,
tzn. Dialog a WinBase, např. nastavení
dialog->wantmouse=k;
způsobí, ţe dialogové okno bude dostávat zprávy WM_USER+k o poloze kurzoru ve zdrojovém okně
přepočtené s ohledem na měřítko zobrazení a to při pohybu myši nebo při zmáčknutí tlačítka myši. Ve
wparam budou příznaky zmáčknutých tlačítek myši a kláves Ctrl a Shift (viz nápovědu ke zprávě
WM_MOUSEMOVE) a v lparam bude ukazatel na strukturu MOUSEMESSAGE s poloţkou
wMsg, kde bude číslo původní zprávy a s poloţkou pt, kde budou obrazové souřadnice kurzoru.
Nastavení
dialog->wantclosemessage=c;
způsobí, ţe dialogové okno bude dostávat zprávy WM_USER+c o uzavření zdrojového okna. Ve
wparam bude číslo zavíraného okna (index v poli wImage) a v lparam bude ukazatel na třídu
zavíraného okna.
Ukazatel lp_fill nelze nastavit na FALSE ihned po volání občerstvení obrazu, je nutno počkat, aţ
občerstvení skončí, např. takto:
lpm->lp_refreshing
= TRUE;
lpm->lp_fill
= TRUE;
(*lpm->lp_wSImage)->Refresh(NULL);
while(lpm->lp_refreshing)kbhit;
lpm->lp_fill
= FALSE;
//občerstvení obrazu
//čekání na konec občerstvení
Dialog pro otevření souboru, který bude mít povolenu nápovědu, násobnou volbu souborů a uţivatelsky
dané rozměry můţe být vytvořen např. takto:
//Proměnná s číslem naposled zvoleného
filtru
char fspecall[MAXPATH+MAXSOUB*13];
//Získané jméno souboru
char *helppath=”helpfile.hlp”;
//Soubor s nápovědou
BOOL selection;
//Výsledek dialogu
OPENFILENAME ofn;
//Struktura s parametry dialogu
HOOKDATA HookData;
//Struktura s proměnnými hákové funkce
//(deklarace v „iwf.h“)
char szFilters[ ] = “Vše\0*.* \0”
//Filtry
“Speciální soubor\0*.spc\0”;
static int nFilterIndexp=1;
strcpy(fspecall,””);
//Inicializace jména souboru
HookData.nFilterIndex=&nFilterIndex;
HookData.helppath=helppath;
HookData.helpcontext=500;
//Adresa proměnné s číslem filtru
//Jméno souboru s nápovědou
//Kontextové číslo hesla nápovědy
memset(&ofn,0,sizeof(OPENFILENAME));
//Nulování struktury
ofn.lStructSize
= sizeof(OPENFILENAME);
174
ZODOP
ofn.hwndOwner
ofn.lpstrFilter
ofn.nFilterIndex
ofn.lpstrFile
ofn.nMaxFile
ofn.lpstrTitle
ofn.lCustData
ofn.lpfnHook
ofn.hInstance
ofn.Flags
= lpm->pFrameWin->Handle();
= (LPSTR)szFilters;
= nFilterIndex;
= (LPSTR)fspecall;
= MAXPATH+MAXSOUB*13;
= “Otevřít soubor“;
= (LPARAM)(&HookData);
//Adresa proměnných
//hákové funkce
= lpm->lp_FileHook;
//Adresa hákové funkce
= (*lpm->lp_SetHeightOpenDlg)(5,0,10,TRUE);
=OFN_ENABLETEMPLATEHANDLE |
OFN_ENABLEHOOK | OFN_SHOWHELP |
OFN_FILEMUSTEXIST | OFN_HIDEREADONLY |
OFN_ALLOWMULTISELECT;
selection = GetOpenFileName(&ofn);
//Vytvoření dialogu
77.6 Přerušitelnost operací
V souboru “iwf.h” jsou 3 makra pro testování klávesnice během dlouho trvajících operací.
Makro TestEscape(a,b) testuje klávesnici a pokud bylo zmáčknuto Pause zeptá se, zda má být
operace předčasně ukončena. Pokud ano nebo pokud je dialog ukončen, skočí na návěští b. Na tomto
návěští by měly být příkazy uvolňující paměť, uzavírající otevřené soubory apod. Parametr a je
ukazatel na třídu příslušného dialogu.
Podobného efektu lze dosáhnout také voláním funkce na zobrazení kolik procent je hotovo
(lp_Progress) s parametrem interruptable nastaveným na TRUE. Zásuvný modul pak musí testovat
vrácenou hodnotu a při -1 správně ukončit činnost.
Makro SetEscape(a,c)testuje, zda v dialogu uţ byla spuštěna nějaká operace s testem klávesnice.
Pokud ano, provede návrat z funkce s hodnotou c. Mělo by být umístěno na začátku operace před
alokování paměti, otevírání souborů a podobné činnosti. Parametr a je ukazatel na třídu příslušného
dialogu.
Makro ResetEscape(a)umoţňuje spuštění další operace s testem klávesnice. Mělo by být umístěno
před konec operace. Parametr a je ukazatel na třídu příslušného dialogu.
Pokud chcete připustit spuštění více operací v dialogu najednou, pouţijte pouze makro TestEscape,
bez nastavování a ukončování přerušitelné operace.
Je vhodné zajistit, aby pokud se výsledek zobrazuje ve starém okně, se zobrazil do stejného okna,
odkud byla vzata data. Také je třeba ošetřit případ, kdy uţivatel zavře zdrojové obrazové okno
uprostřed operace, coţ při pouţití makra TestEscape je moţné.
77.7 Volání zásuvných modulů z makra
Formátový zásuvný modul můţe být z makra volán pouze nepřímo, jako důsledek volání funkcí pro
práci se soubory. Jeho činnost se pak neliší od činnosti při volání příslušné funkce z menu.
Pokud si přejete, aby bylo moţno volat přímo funkcí z makra výkonný zásuvný modul bez parametrů,
které by musel zjišťovat dialogem, stačí do poloţky macrofunction inicializační struktury zadat
jméno příslušné funkce. Nejlépe ho získáme vynecháním jiných znaků neţ písmen z řetězce pro volání
modulu z menu. Jména funkcí se však rozlišují bez ohledu na velikost písmen a interpunkci, proto se
pouţité jméno funkce musí lišit od všech ostatních jinak, neţ jen tímto způsobem. Pokud by tomu tak
nebylo, bylo by nutné zvolit jiné jméno funkce, jinak by program funkci nenašel. Existuje také limit
délky jména funkce, v současné době to je 29 znaků. Pokud v poloţce macrofunction ponecháte
implicitní prázdný řetězec, modul z makra volatelný nebude.
Pokud modul potřebuje ke své činnosti nějaké parametry, které normálně zjišťuje dialogem, je nutno
navíc zajistit, aby makro v dialogu neuvízlo, nejlépe tak, ţe ho vůbec nevytvoří, parametry budou
zadány jako argumenty příkazu v makru a modul je zpracuje zvlášť. V tom případě program natáhne
zásuvný modul do paměti, volá výkonnou funkci opakovaně pro kaţdý skutečně zadaný argument
ZODOP
175
zvlášť a uvolní ho z paměti aţ po zpracování posledního argumentu. Je proto moţné zapamatovat si
hodnoty argumentů ve statických proměnných. Za zpracování je tedy odpovědná výkonná funkce
zásuvného modulu a ta také určuje počet a typ jednotlivých argumentů. Jako příklad typického
zpracování volání z makra lze uvést, jak by se zpracovávalo volání funkce pro převod obrazu z RGB
do indexových barev, kdyby byla zajišťována zásuvným modulem:
#define CHANNELS
TAG_DLLP FAR * lpm;
int id;
Plugindlg *dialog;
ImageWin *wHImage;
201
//ukazatel na vstupní strukturu
//identifikační číslo zásuvného modulu
//ukazatel na třídu dialogu
//ukazatel na třídu obrazu
int _far _pascal _export PROWIPLUGINENTRY (TAG_DLLP FAR * tag_dll)
{
char *rd=(char *)MAKEINTRESOURCE(CHANNELS);
int ier=0;
lpm=tag_dll; //úschova ukazatele na vstupní strukturu
id=lpm->i;
//úschova identifikačního čísla zásuvného modulu
if(lpm->actioncode==0)
//volání z menu
(*lpm->lp_PluginDialog)(lpm->pFrameWin,rd,
Initialize,Terminate,WndProc,id,&dialog,TRUE,FALSE);
// vytvoření bezmodelového dialogu při volání z menu
else if(lpm->actioncode==-1) //volání z makra
ier=ProcessChindex(); //zpracování argumentů při volání z makra
return ier;
//funkce vrací chybový kód
}
Funkce ProcessChindex na zpracování volání z makra vypadá následovně:
int ProcessChindex()
{
char *par;int j,nr,nl,nc,strfl; //parametry argumentu
static int typ_palet=0,pb=256,input_levels=6,isd=0; //statické proměnné
//pro zapamatování parametrů nastavené na implicitní hodnoty
static char name_pal[MAXPATH];
//implicitní hodnota není, argument je povinný
char *endptr;
char retfl=0; //návratová hodnota, implicitně bez chyby
int minh,minv;
IMAGE *image=NULL;
char sz[80];
nr
par
j
nl
nc
strfl
0=jiný).
=lpm->filternumber;//pořadí posledního argumentu
=lpm->fspec;
//řetězec s argumentem
=lpm->j;
//pořadí argumentu
=lpm->nl;
//číslo řádku v makru
=lpm->nc;
//číslo sloupce v makru
=lpm->strfl;
//příznak řetězcového argumentu
(1=řetězec,
switch(j)
{
case 0: break; //nebyl zadán žádný argument
case 1: //1. argument, název radiotlačítka s typem palety
SetDlgItemText(lpm->macrodlg->hWnd,103,par);
//argument
použije jako jméno podfunkce
if(lpm->lp_strcmpsi(par,MACRO_SYSTEM)==0)typ_palet=0;
else if(lpm->lp_strcmpsi(par,MACRO_ADAPTIVE)==0)typ_palet=1;
se
176
ZODOP
else if(lpm->lp_strcmpsi(par,MACRO_CUSTOM)==0)typ_palet=2;
else {lpm->lp_synterror(MACRO_WRONG_BUTTON,nl,nc);return
//při chybě se vrací 2
break;
2;}
case 2: //2. argument
if(typ_palet==1)
//pokud je paleta adaptivní, je druhý argument
počet barev
{
pb=(int)strtol(par,&endptr,10);
//převod z řetězce na celé číslo
if(endptr[0])
{lpm->lp_synterror (MACRO_NONFIGURES_IN_NUMBER, nl, nc); return 2;}
}
else
//jinak je argument považován za jméno souboru s paletou
{
strcpy(name_pal,par);
}
break;
case 3: //3. argument, vyhledávání v komboboxu se provádí zvláštní funkcí
input_levels=SearchStringChindex(par,&retfl,nl,nc,strfl);
break;
case 4: //4. argument, řetězec s polohou potvrzovacího tlačítka
if(lpm->lp_strcmpsi(par,MACRO_DITHERING)==0)isd=1;
else if(lpm->lp_strcmpsi(par,MACRO_NODITHERING)==0)isd=0;
else {lpm->lp_synterror(MACRO_WRONG_BUTTON,nl,nc);return 2;}
break;
//pořadí argumentu je vždy nezáporné,
//toto může nastat jen když bylo zadáno příliš mnoho argumentů
lpm->lp_synterror(MACRO_TOO_MANY_PARAMS,nl,nc);return 2;
default:
}
if(j==nr)
//argument je poslední, je třeba provést žádanou operaci
{
wHImage=(*lpm->lp_wSImage);
if(!wHImage || !wHImage->Image)
//není otevřen žádný obraz
{
MessageBox(lpm->pFrameWin->hWnd,IWF_NO_IMAGE,IWF_ERROR,MB_OK
MB_ICONEXCLAMATION);
|
return 2;
}
if(wHImage->Image->depth!=24)
//obraz už je v indexových barvách
{
sprintf(sz,CHINDEX_INDEX_YET,wHImage->Image->fspec);
MessageBox(lpm->pFrameWin->hWnd,sz,IWF_ERROR,MB_OK
|
MB_ICONEXCLAMATION);
return 2;
}
else
//vše v pořádku
{
minh=wHImage->Image->hres;
minv=wHImage->Image->vres;
image=(* lpm->lp_CreateImage)(minh,minv);//vytvoření nové obrazové
struktury
if(!image)return 2;
//obraz nelze duplikovat, protože má jiný počet bitů na pixel
else
ZODOP
177
//je nutno zkopírovat důležité údaje
strcpy(image->fspec,wHImage->Image->fspec);
strcpy(image->comment,wHImage->Image->comment);
image->gamma=wHImage->Image->gamma;
image->flags=wHImage->Image->flags;
image->format=wHImage->Image->format;
CopyRect(&image->rc,&wHImage->Image->rc);
if(typ_palet==2)
retfl=CustomPalette(name_pal,image);
//převod
do
uživatelské palety
else if(typ_palet==1)
{
retfl=to_indexed (wHImage->Image, image, wHImage->hAlfa, pb,
isd, input_levels, NULL);//převod do adaptivní palety
}
else if(typ_palet==0)
SystemPalette(image);
//převod do systémové palety
if(!retfl)
lpm->lp_SetUndoImage(wHImage,image);
//nastavení
možnosti vrátit zpět
PostMessage (lpm->pStatusWin->hWnd, WM_USER, 0,0); //Překreslení stavové lišty
}
}
return 2*(int)retfl;
//vrací se 2 při chybě, 0 bez chyby
}
Funkce CustomPalette, AdaptPalette, to_indexed a SystemPalette provádějí vlastní převod do
indexových barev, při volání modulu z menu jsou volány ve funkci WndProc pro obsluhu dialogu.
Jsou příliš rozsáhlé a pro pochopení obsluhy volání modulu z makra nepodstatné, proto zde nejsou
uvedeny.
Dodávané zásuvné moduly dodrţují konvenci, ţe pokud uţivatel přeruší operaci, vracejí 1, při jiné
chybě vracejí 2 a při bezchybném dokončení operace vracejí 0. Program provádějící makra to však
v současné době nerozlišuje, při 0 pokračuje v činnosti, při jakékoli nenulové hodnotě předčasně ukončí
makro.
Znakové řetězce jsou definovány jako céčkovská makra a je moţné si je prohlédnout v souboru
“iwf_str.h”.
Typická funkce pro hledání v komboboxu:
//céčkovské makro s obsahem komboboxu,
//stejné je pouţito pro inicializaci komboboxu v dialogu
#define COMBOBOXTABLECHINDEX char *typ_res[] = {“8“, /*3*/\
„16“, /*4*/\
„32“, /*5*/\
„64“, /*6*/\
„128“,/*7*/\
„256“/*8*/\
}
int SearchStringChindex(char *str,char *ier,int nl,int nc,int strfl)
//funkce pro vyhledávání hodnoty parametru v komboboxu
{
char *endptr;
int i;
int pocet_fil;
COMBOBOXTABLECHINDEX; //céčkovské makro s obsahem komboboxu
*ier=0;
178
ZODOP
pocet_fil=sizeof ( typ_res) / sizeof (*typ_res);
if(strfl) //argument je řetězcový, hledá se řetězec
{
for (i=0;i<pocet_fil && lpm->lp_strcmpsi(str,typ_res[i]);i++);
if(i==pocet_fil)i=-1;
//řetězec nenalezen
else i+=3;
//řádky jsou očíslovány počínaje 3 (podle příslušné mocniny
dvou)
}
else
//argument je číslo řádku
{
i=(int)strtol(str,&endptr,10);
if(endptr[0])
{
lpm->lp_synterror(MACRO_NONFIGURES_IN_NUMBER,nl,nc);
*ier=1;
}
}
if(i<3 || i>=pocet_fil+3) //číslo řádku je mimo rozsah
{
lpm->lp_synterror(MACRO_WRONG_COMBOBOX_ITEM,nl,nc);
*ier=1;
}
return i;
//vrací se číslo řádku
}
Součástí návodu jsou i zdrojové texty dvou zásuvných modulů, „Zkušební obrázek“ (soubor
“pokusob.cpp”) a „Jas a kontrast“ (soubor “const.cpp”).
Hlavičkové soubory “iwf.h”, “w32_wndw.h”, “kernel.h” a “winx.h” by měly být chápány jako
pouze pro čtení. Hlavní program a zásuvné moduly musí být přeloţeny se stejnými verzemi těchto
souborů. Zejména je nepřípustné měnit počet a délku jednotlivých poloţek ve třídách a strukturách bez
nového překladu hlavního programu. Naopak do souboru “iwf_str.h” je moţné přidávat vlastní
jazykově závislé řetězce.
V případě, ţe při ladění program spadne uprostřed zásuvného modulu, zůstane tento v paměti a není
moţno sestavit novou verzi zásuvného modulu. V tom případě spusťte program znovu a aniţ by jste
spouštěli jakoukoli operaci, zase ho zavřete. Program při spouštění uvolňuje z paměti všechny staré
verze zásuvných modulů a po této akci je moţné sestavit nové verze zásuvných modulů.
Mnoho štěstí při tvorbě vlastních zásuvných modulů.
ZODOP
179
78. Dodatek A: Chybové kódy
Při volání vnějšího editoru nebo při volání dialogu pro získání jména souboru, barvy nebo tisku se
mohou v chybovém hlášení objevit určité chybové kódy. Zde je jejich význam:
78.1 Chybové kódy při spouštění vnějšího procesu
0
2
3
5
6
8
10
Systém nemá paměť, spustitelný soubor je porušen nebo vyklizení je neplatné.
Soubor nenalezen.
Cesta nenalezena.
Pokus o dynamické připojení k úloze, chyba sdílení nebo ochrany sítě.
Knihovna vyţaduje oddělené datové segmenty pro kaţdou úlohu.
Nedostatek paměti pro start aplikace.
Chybná verze Windows.
11
Neplatný spustitelný soubor. Buď to není aplikace Windows nebo chyba v .EXE souboru.
12
Aplikace určena pro jiný operační systém.
13
Aplikace navrţena pro MS-DOS 4.0.
14
Neznámý typ spustitelného souboru.
15
Pokus o spuštění aplikace v reálném módu (vyvinuté pro dřívější verzi Windows).
16
Pokus o spuštění druhé instance spustitelného souboru obsahujícího násobné datové
segmenty, které nejsou označeny jako jenom pro čtení.
19
Pokus o spuštění komprimovaného spustitelného souboru. Soubor musí být před spuštěním
dekomprimován.
20
Soubor s dynamicky připojovanou knihovnou (DDL) je neplatný. Jedna z DDL poţadovaná
spouštěnou aplikací je porušená.
21
Aplikace vyţaduje 32-bitové rozšíření Microsoft Windows.
78.2 Chybové kódy, které se mohou vyskytnout při volání kteréhokoli z dialogů
pro získání jména souboru, barvy nebo tisku
1 Neplatný údaj o velikosti struktury s parametry dialogu.
2 Procedura vytvářející dialog selhala během inicializace. Tato chyba často nastává při
nedostatku paměti.
3 Byla nastavena vlajka ENABLETEMPLATE (povolit šablonu), ale aplikace selhala při
zajišťování odpovídající šablony.
4 Byla nastavena vlajka ENABLETEMPLATE (povolit šablonu), ale aplikace selhala při
zajišťování odpovídajícího handle (drţadla) instance.
5 Procedura vytvářející dialog selhala při hledání zadaného řetězce.
6 Procedura vytvářející dialog selhala při hledání zadaného zdroje (resource).
7 Procedura vytvářející dialog selhala při natahování zadaného zdroje (resource).
8 Procedura vytvářející dialog selhala při zamykání zadaného zdroje (resource).
9 Procedura vytvářející dialog nebyla schopna alokovat paměť pro vnitřní struktury.
10 Procedura vytvářející dialog nebyla schopna zamknout paměť spojenou s drţadlem (handle).
11 Byla nastavena vlajka ENABLEHOOK (povolit hák), ale aplikace selhala při zajišťování
ukazatele na odpovídající hákovou funkci.
78.3 Chybové kódy, které se mohou vyskytnout pouze při volání dialogu pro
získání jména souboru
180
12289
12290
12291
ZODOP
Pokus o podtřídu seznamového okénka selhal kvůli nedostatku paměti.
Neplatné jméno souboru.
Vyrovnávací paměť pro jméno souboru je příliš malá. (Ukazatel na tuto paměť je členem
struktury s parametry dialogu.)
78.4 Chybové kódy, které se mohou vyskytnout pouze při volání dialogu pro
zahájení tisku
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
Procedura vytvářející dialog selhala při natahování zadaného zdroje (resource).
Procedura vytvářející dialog selhala při syntaktické analýze řetězců v sekci [devices] souboru
WIN.INI.
Byla nastavena vlajka PD_RETURNDEFAULT (vrátit implicitní) ve struktuře PRINTDLG,
ale jeden ze členů hDevMode nebo hDevNames struktury byly nenulové.
Procedura vytvářející dialog selhala při natahování obsluţného programu (driveru) pro
zvolenou tiskárnu.
Obsluţný program (driver) tiskárny selhal při inicializaci struktury DEVMODE. (Tato chyba
se můţe vyskytnout pouze u obsluţných programů psaných pro verzi Windows 3.0 a vyšší.)
Procedura vytvářející dialog selhala při inicializaci.
Nebyl nalezen ţádný obsluţný program (driver) tiskárny.
Implicitní tiskárna neexistuje.
Údaje ve struktuře DEVMODE a DEVNAMES popisují dvě různé tiskárny.
Procedura vytvářející dialog selhala při pokusu vytvořit informační kontext.
Sekce [devices] souboru WIN.INI neobsahuje ţádnou poloţku pro poţadovanou tiskárnu.
Program volal dialog pro tisk a přitom byla nastavena vlajka DN_DEFAULTPRN (vrátit
implicitní) ve členu wDefault struktury DEVNAMES, ale tiskárna popisovaná ostatními členy
struktury neodpovídá aktuální implicitní tiskárně. (Toto se stává, kdyţ uţivatel v programu
nastaví tisk na implicitní tiskárně, tím dojde k uloţení struktury DEVNAMES, a potom změní
implicitní tiskárnu pomocí řídícího panelu.) Buď vraťte nastavení implicitní tiskárny v řídícím
panelu tak jak bylo při prvním volání dialogu Nastavení tisku, nebo ukončete program a
spusťte ho znovu.
78.5 Chybové kódy knihovny LeadTools
Chyba
ERROR_NO_MEMORY
ERROR_NO_BITMAP
ERROR_MEMORY_TOO_LOW
ERROR_FILE_LSEEK
ERROR_FILE_WRITE
ERROR_FILE_GONE
ERROR_FILE_READ
ERROR_INV_FILENAME
ERROR_FILE_FORMAT
ERROR_FILENOTFOUND
ERROR_INV_RANGE
ERROR_IMAGE_TYPE
Číslo
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
ERROR_INV_PARAMETER
ERROR_FILE_OPEN
ERROR_UNKNOWN_COMP
ERROR_FEATURE_NOT_SUPPORTED
ERROR_NOT_256_COLOR
-13
-14
-15
-16
-17
Popis
Není k dispozici dostatek paměti
Neplatné drţadlo bitmapy
Není k dispozici dostatek paměti
Chyba při hledání pozice v souboru
Chyba při zápisu do souboru
Soubor nepřítomen - abort
Chyba při čtení souboru
Neplatné jméno souboru
Neplatný formát souboru
Soubor nenalezen
Neplatná výška/šířka
Byl rozpoznán formát obrazu, ale podtyp
není podporován
Neplatný parametr
Nepodařilo se otevřít soubor
Neznámý kompresní formát
Nepodporovaný příznak
Karta VGA podporuje pouze 256 barev (8
bit)
ZODOP
ERROR_PRINTER
ERROR_CRC_CHECK
ERROR_QFACTOR
ERROR_TARGAINSTALL
ERROR_OUTPUTTYPE
ERROR_XORIGIN
ERROR_YORIGIN
ERROR_VIDEOTYPE
ERROR_BITPERPIXEL
ERROR_WINDOWSIZE
ERROR_NORMAL_ABORT
ERROR_NOT_INITIALIZED
ERROR_CU_BUSY
ERROR_INVALID_TABLE_TYPE
ERROR_UNEQUAL_TABLES
ERROR_INVALID_BUFFER
ERROR_MISSING_TILE_DATA
ERROR_INVALID_QVALUE
ERROR_INVALIDDATA
ERROR_INVALID_COMPRESSED_TYPE
ERROR_INVALID_COMPONENT_NUM
ERROR_INVALID_PIXEL_TYPE
ERROR_INVALID_PIXEL_SAMPLING
ERROR_INVALID_SOURCE_FILE
ERROR_INVALID_TARGET_FILE
ERROR_INVALID_IMAGE_DIMS
ERROR_INVALID_TILE_DIMS
ERROR_INVALID_PIX_BUFF_DIMS
ERROR_SEGMENT_OVERFLOW
ERROR_INVALID_SUBSAMPLING
ERROR_INVALID_Q_VIS_TABLE
ERROR_INVALID_DC_CODE_TABLE
ERROR_INVALID_AC_CODE_TABLE
ERROR_INSUFFICIENT_DATA
ERROR_MISSING_FUNC_POINTER
ERROR_TOO_MANY_DC_CODE_TABLES
ERROR_TOO_MANY_AC_CODE_TABLES
ERROR_INVALID_SUBIMAGE
ERROR_INVALID_ABORTION
ERROR_CU_NO_SUPPORT
ERROR_CU_FAILURE
ERROR_BAD_POINTER
ERROR_HEADER_DATA_FAILURE
ERROR_COMPRESSED_DATA_FAILURE
ERROR_FIXEDPAL_DATA
ERROR_LOADFONT_DATA
ERROR_NO_STAMP
ERROR_G3CODE_INVALID
ERROR_G3CODE_EOF
ERROR_G3CODE_EOL
ERROR_PREMATURE_EOF
ERROR_PREMATURE_EOL
ERROR_UNCOMP_EOF
ERROR_ACT_INCOMP
ERROR_BAD_DECODE_STATE
181
-18
-19
-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
-70
-71
-72
-73
-74
-75
-76
-77
Chyba tiskárny
Chyba při kontrole datového CRC
Zadán neplatný QFactor
TARGA není na instalována
Neplatný kompresní formát
Zadaný počátek X neplatný
Zadaný počátek Y neplatný
Neplatný video mód
Neplatný počet bitů na pixel
Neplatná velikost okna
Zmáčknuta klávesa Escape
Interní chyba LeadTools
Interní chyba LeadTools
Interní chyba LeadTools
Interní chyba LeadTools
Interní chyba LeadTools
Interní chyba LeadTools
Interní chyba LeadTools
Interní chyba LeadTools
Interní chyba LeadTools
Interní chyba LeadTools
Interní chyba LeadTools
Interní chyba LeadTools
Interní chyba LeadTools
Interní chyba LeadTools
Interní chyba LeadTools
Interní chyba LeadTools
Interní chyba LeadTools
Interní chyba LeadTools
Interní chyba LeadTools
Interní chyba LeadTools
Interní chyba LeadTools
Interní chyba LeadTools
Interní chyba LeadTools
Interní chyba LeadTools
Interní chyba LeadTools
Interní chyba LeadTools
Interní chyba LeadTools
Interní chyba LeadTools
Interní chyba LeadTools
Interní chyba LeadTools
Interní chyba LeadTools
Interní chyba LeadTools
Interní chyba LeadTools
Data s pevnou paletou nenalezena
Data s pevnou paletou nenalezena
Známka nenalezena
Neplatná data group 3
Konec souboru kódu Group3
Konec kódu Group3
Předčasný konec souboru
Předčasný konec řádku
Předčasný konec řádku
Předčasný konec řádku
Předčasný konec řádku
182
ZODOP
ERROR_VERSION_NUMBER
ERROR_TWAIN_NODSM
ERROR_TWAIN_BUMMER
ERROR_TWAIN_LOWMEMORY
ERROR_TWAIN_NODS
ERROR_TWAIN_MAXCONNECTIONS
-78
-79
-80
-81
-82
-83
ERROR_TWAIN_OPERATIONERROR
ERROR_TWAIN_BADCAP
ERROR_TWAIN_BADPROTOCOL
ERROR_TWAIN_BADVALUE
ERROR_TWAIN_SEQERROR
-84
-85
-86
-87
-88
ERROR_TWAIN_BADDEST
-89
ERROR_TWAIN_CANCEL
ERROR_USER_ABORT
ERROR_FPX_INVALID_FORMAT_ERROR
ERROR_FPX_FILE_WRITE_ERROR
ERROR_FPX_FILE_READ_ERROR
ERROR_FPX_FILE_NOT_FOUND
ERROR_FPX_COLOR_CONVERSION_ERROR
ERROR_FPX_SEVER_INIT_ERROR
ERROR_FPX_LOW_MEMORY_ERROR
ERROR_FPX_IMAGE_TOO_BIG_ERROR
ERROR_FPX_INVALID_COMPRESSION_
ERROR
ERROR_FPX_INVALID_RESOLUTION
ERROR_FPX_INVALID_FPX_HANDLE
ERROR_FPX_TOO_MANY_LINES
ERROR_FPX_BAD_COORDINATES
ERROR_FPX_FILE_SYSTEM_FULL
ERROR_FPX_MISSING_TABLE
ERROR_FPX_RETURN_PARAMETER_TOO_
LARGE
ERROR_FPX_NOT_A_VIEW
ERROR_FPX_VIEW_IS_TRANFORMLESS
ERROR_FPX_ERROR
ERROR_FPX_UNIMPLEMENTED_FUNCTION
ERROR_FPX_INVALID_IMAGE_DESC
ERROR_FPX_INVALID_JPEG_TABLE
ERROR_FPX_ILLEGAL_JPEG_ID
ERROR_FPX_MEMORY_ALLOCATION_
FAILED
ERROR_FPX_NO_MEMORY_MANAGEMENT
ERROR_FPX_OBJECT_CREATION_FAILED
ERROR_FPX_EXTENSION_FAILED
ERROR_FPX_FREE_NULL_PTR
ERROR_FPX_INVALID_TILE
ERROR_FPX_FILE_IN_USE
ERROR_FPX_FILE_CREATE_ERROR
ERROR_FPX_FILE_NOT_OPEN_ERROR
ERROR_FPX_USER_ABORT
ERROR_FPX_OLE_FILE_ERROR
ERROR_BAD_TAG
-90
-100
-101
-102
-103
-104
-105
-106
-107
-108
-109
Chybné číslo verze
Správce zdrojů nenalezen
Selhání z neznámých příčin
Nedostatek paměti pro provedení operace
Ţádný zdroj dat
DS je spojeno s maximálním počtem
aplikací
Oznámená chyba DS nebo DSM
Neznámá schopnost
Nerozpoznaná kombinace MSG DG DAT
Datový parameter mimo rozsah
DG DAT MSG mimo předpokládanou
posloupnost
Neznámé místo určení App/Src v
DSM_Entry
Operace byla zrušena
Uţivatel předčasně ukončil operaci
Chyba FlashPix
Chyba FlashPix
Chyba FlashPix
Chyba FlashPix
Chyba FlashPix
Chyba FlashPix
Chyba FlashPix
Chyba FlashPix
Chyba FlashPix
-110
-111
-112
-113
-114
-115
-116
Chyba FlashPix
Chyba FlashPix
Chyba FlashPix
Chyba FlashPix
Chyba FlashPix
Chyba FlashPix
Chyba FlashPix
-117
-118
-119
-120
-121
-122
-123
-124
Chyba FlashPix
Chyba FlashPix
Chyba FlashPix
Chyba FlashPix
Chyba FlashPix
Chyba FlashPix
Chyba FlashPix
Chyba FlashPix
-125
-126
-127
-128
-129
-130
-131
-132
-133
-134
-140
Chyba FlashPix
Chyba FlashPix
Chyba FlashPix
Chyba FlashPix
Chyba FlashPix
Chyba FlashPix
Chyba FlashPix
Chyba FlashPix
Chyba FlashPix
Chyba FlashPix
Špatný TIFF tag
ZODOP
183
Známka je příliš velká nebo neplatný
počet bitů na pixel apod.
Známak je přítomna, ale data jsou
porušena
Tato funkce vyţaduje schopnost
zobrazování dokumentů
Obraz je prázdný
Obraz nebyl změněn
LZW je uzamčena
Pro pouţití této funkce je potřebný
FlashPix rozšířený modul
Anotační objekt je uzamčen
Obecný obrazový dialog byl zrušen
uţivatelem
Chyba během vytváření obecného
obrazového dialogu
Ţádný ISIS Scanner není vybrán
ISIS Scanner driver selhal při natahování
ISIS operace zrušena uţivatelem
Špatný ISIS Tag nebo špatná hodnota
Tagu
ISIS Scanner není připraven
V ISIS Scanneru není stránka
Zácpa v ISIS Scanneru
Chyba ISIS Scannerového driveru
ISIS Scanner je zaneprázdněn
Chyba v souboru s ISIS driverem
Sí?ová chyba ISIS
ISIS není nainstalováno
Strana nenalezena
Nelze smazat stranu ze souboru
obsahujícího jenom jednu stranu
Není ţádná horká klávesa
Chyba při vytváření okna horké klávesy
ERROR_INVALID_STAMP_SIZE
-141
ERROR_BAD_STAMP
-142
ERROR_EXPRESS_NOT_ENABLED
-143
ERROR_IMAGE_EMPTY
ERROR_NO_CHANGE
ERROR_LZW_LOCKED
ERROR_FPXEXTENSIONS_LOCKED
-144
-145
-146
-147
ERROR_ANN_LOCKED
ERROR_DLG_CANCELED
-148
-150
ERROR_DLG_FAILED
-151
ERROR_ISIS_NOCURSCANNER
ERROR_ISIS_SCANDRIVER_NOT_LOADED
ERROR_ISIS_CANCEL
ERROR_ISIS_BAD_TAG_OR_VALUE
-160
-161
-162
-163
ERROR_ISIS_NOT_READY
ERROR_ISIS_NO_PAGE
ERROR_ISIS_JAM
ERROR_ISIS_SCANNER_ERROR
ERROR_ISIS_BUSY
ERROR_ISIS_FILE_ERROR
ERROR_ISIS_NETWORK_ERROR
ERROR_ISIS_NOT_INSTALLED
ERROR_PAGE_NOT_FOUND
ERROR_DELETE_LAST_PAGE
-164
-165
-166
-167
-168
-169
-170
-171
-310
-311
ERROR_NO_HOTKEY
ERROR_CANNOT_CREATE_HOTKEY_
WINDOW
ERROR_MEDICAL_NOT_ENABLED
-312
-313
ERROR_JBIG_NOT_ENABLED
ERROR_VECTOR_NOT_ENABLED
ERROR_VECTOR_IS_EMPTY
ERROR_VECTOR_LAYER_NOT_FOUND
ERROR_VECTOR_LAYER_IS_LOCKED
ERROR_VECTOR_LAYER_ALREADY_
EXISTS
ERROR_VECTOR_OBJECT_NOT_FOUND
ERROR_VECTOR_INVALID_OBJECT_TYPE
ERROR_VECTOR_PEN_NOT_FOUND
ERROR_VECTOR_BRUSH_NOT_FOUND
ERROR_VECTOR_FONT_NOT_FOUND
ERROR_VECTOR_BITMAP_NOT_FOUND
ERROR_VECTOR_POINT_NOT_FOUND
ERROR_VECTOR_ENGINE_NOT_FOUND
ERROR_VECTOR_INVALID_ENGINE
ERROR_VECTOR_CLIPBOARD
ERROR_VECTOR_CLIPBOARD_IS_EMPTY
ERROR_VECTOR_CANT_ADD_TEXT
-315
-400
-501
-502
-503
-504
Pro tuto funkci je třeba schopnost
medicínského zobrazování
Pro tuto funkci je třeba schopnost JBIG
Podpora vektorů je uzamčena.
Vektor je prázdný
Vektorová vrstva nenalezena
Vektorová vrstva je uzamčena
Vektorová vrstva nenalezena
-505
-506
-507
-508
-509
-510
-511
-512
-513
-514
-515
-516
Vektorový objekt nenalezen
Neplatný typ objektu
Pero nenalezeno
Štětec nenalezen
Font nenaelzen
Bitmapa nenalezena
Bod nenalezen
Vektorový stroj nenalezen
Neplatný vektorový stroj
Chyba schránky
Schránka je prázdná
Nelze přidat text
-314
184
ZODOP
ERROR_VECTOR_CANT_READ_WMF
ERROR_VECTOR_GROUP_NOT_FOUND
ERROR_VECTOR_GROUP_ALREADY_
EXISTS
WRPERR_BITMAP_NOT_ALLOCATED
WRPERR_INVALID_CLASS
WRPERR_INVALID_PARAMETERS
WRPERR_BITMAP_BPP
WRPERR_BITMAP_DITHER_NOT_STARTED
WRPERR_BITMAP_ALREADY_ALLOCATED
WRPERR_BITMAP_PREPARE_FAILED
WRPERR_BITMAP_ITEM_IN_LIST
WRPERR_BITMAP_CONVERT
WRPERR_PLAYBACK_ALREADY_CREATED
WRPERR_LIST_ALREADY_CREATED
WRPERR_LIST_NOT_CREATED
WRPERR_CLASS_NOT_READY
WRPERR_BUFFER_NO_MEMORY
WRPERR_BUFFER_ERRSIZE
WRPERR_BUFFER_INVALID_HANDLE
WRPERR_FILE_FEEDLOAD_NOT_STARTED
WRPERR_MEMFILE_COMP_NOT_STARTED
WRPERR_ANN_INVALID_FILE
WRPERR_ANN_INVALID_FILEMEM
WRPERR_ANN_INVALID_OBJECT
WRPERR_ANN_DESTROYTOOLBAR_FAILED
-517
-518
-519
Nelze číst WMF.
Skupina nenalezena.
Skupina uţ existuje
-1000
-1001
-1002
-1003
-1004
-1005
-1006
-1007
-1008
-1014
-1015
-1016
-1017
-1018
-1019
-1020
-1021
-1022
-1023
-1024
-1025
-1026
WRPERR_ANN_ALLOCATED_MEMORY
WRPERR_BUFFER_NOTVALID
WRPERR_BUFFER_REALLOCATE
-1027
-1028
-1029
WRPERR_BUFFER_COPY
-1030
WRPERR_BUFFER_RESIZE_NOT_STARTED
WRPERR_BUFFER_LOCKED
WRPERR_BITMAPWND_PAN_NOT_
CREATED
WRPERR_BITMAPWND_REGISTER
WRPERR_BITMAPWND_CREATEWINDOW
WRPERR_ANIMATION_ALREADY_
STARTED
WRPERR_ANIMATION_IS_RUNNING
WRPERR_ANNWND_CANT_CREATE_
OBJECT
WRPERR_LTKRN_DLL_NOT_LOADED
WRPERR_LTDIS_DLL_NOT_LOADED
WRPERR_LTFIL_DLL_NOT_LOADED
WRPERR_LTIMG_DLL_NOT_LOADED
WRPERR_LTEFX_DLL_NOT_LOADED
WRPERR_LTDLG_DLL_NOT_LOADED
WRPERR_LTISI_DLL_NOT_LOADED
WRPERR_LTTWN_DLL_NOT_LOADED
WRPERR_LTSCR_DLL_NOT_LOADED
WRPERR_LTANN_DLL_NOT_LOADED
WRPERR_LTCAP_DLL_NOT_LOADED
WRPERR_LTNET_DLL_NOT_LOADED
-1031
-1032
-1033
Bitmapa není alokována
Objekt třídy je neplatný
Neplatný parameter(y)
Neplatný počet bitů na pixel
Ditheringový stroj nezačal
Bitmapa uţ je alokována
Příprava procesu selhala
Poloţka je částí bitmapového seznamu
Chyba během konverze
Přehrávání uţ je vytvořeno
Bitmapový seznam uţ je vytvořen
Bitmapový seznam nebyl vytvořen
Objekt třídy není připraven
Vyrovnávací paměť nebyla alokována
Neplatná velikost Vyrovnávací paměti
Neplatné drţadlo Vyrovnávací paměti
Stroj FeedLoad nenastartován
Compresní stroj nenastartován
Neplatný anotační soubor
Neplatný anotační soubor v paměti
Neplatný anotační objekt
Selhal pokus odstranit anotační
nástrojovou lištu
Selhal pokus alokovat pamě?
Neplatná vyrovnávací pamě?
Selhal pokus znovu alokovat vyrovnávací
pamě?
Selhal pokus kopírovat vyrovnávací
pamě?
Stroj na změnu velikosti nenastartován
Vyrovnávací pamě? není uzamčena
Okno se skrolovacími lištami nevytvořeno
-1034
-1035
-1036
Chyba při registraci třídy okna
Chyba při vytváření okna
Přehrávání animace uţ začalo
-1037
-1038
Animace běţí
Chyba při vytváření objektu
-1039
-1040
-1041
-1042
-1043
-1044
-1045
-1046
-1047
-1048
-1049
-1050
Poţadovaná knihovna DLL není připojena
Poţadovaná knihovna DLL není připojena
Poţadovaná knihovna DLL není připojena
Poţadovaná knihovna DLL není připojena
Poţadovaná knihovna DLL není připojena
Poţadovaná knihovna DLL není připojena
Poţadovaná knihovna DLL není připojena
Poţadovaná knihovna DLL není připojena
Poţadovaná knihovna DLL není připojena
Poţadovaná knihovna DLL není připojena
Poţadovaná knihovna DLL není připojena
Poţadovaná knihovna DLL není připojena
ZODOP
185
WRPERR_LTVID_DLL_NOT_LOADED
WRPERR_BITMAPLIST_ITEM_OPERATION_
ERROR
WRPERR_BITMAPLIST_NOT_CREATED
WRPERR_ANIMATION_INVALID_FILE
WRPERR_NOT_LEAD_BITMAP
WRPERR_BITMAP_IS_ALIST_MEMBER
WRPERR_WINDOW_NOT_CREATED
WRPERR_OPERATION_NOT_ALLOWED
WRPERR_OPERATION_CANCELED
WRPERR_LTTMB_DLL_NOT_LOADED
WRPERR_LTLST_DLL_NOT_LOADED
WRPERR_IMAGELISTCONTROL_CREATE
-1051
-1052
WRPERR_LVKRN_DLL_NOT_LOADED
WRPERR_NO_VECTOR
-1063
-1064
WRPERR_VECTOR_NOT_ALLOCATED
-1065
WRPERR_LVDLG_DLL_NOT_LOADED
WRPERR_FEATURE_NOT_SUPPORTED_
IN_DIRECTX
-1066
-1067
WRPERR_WRPERR_FEATURE_NOT_
SUPPORTED
WRPERR_VECTOR_NOT_ASSOCIATED
-1068
WRPERR_VECTOR_INVALID_LAYER
WRPERR_VECTOR_INVALID_OBJECT
-1070
-1071
WRPERR_VECTOR_INVALID_OBJECT_
TYPE
WRPERR_VECTOR_INVALID_OBJECT_
DESC
WRPERR_VECTOR_LOCK_ERROR
-1072
WRPERR_LTBAR_DLL_NOT_LOADED
WRPERR_LTAUT_DLL_NOT_LOADED
WRPERR_LTCON_DLL_NOT_LOADED
WRPERR_LDKRN_DLL_NOT_LOADED
WRPERR_LTEML_DLL_NOT_LOADED
WRPERR_LTTLB_DLL_NOT_LOADED
WRPERR_LTPNT_DLL_NOT_LOADED
WRPERR_LTPDG_DLL_NOT_LOADED
WRPERR_VECTOR_INVALID_GROUP
WRPERR_LTWEB_DLL_NOT_LOADED
-1075
-1076
-1077
-1078
-1079
-1080
-1081
-1082
-1083
-1084
-1053
-1054
-1055
-1056
-1057
-1058
-1059
-1060
-1061
-1062
-1069
-1073
-1074
Poţadovaná knihovna DLL není připojena
Chyba během práce s bitmapovým
seznamem
Bitmapový seznam nebyl vyvořen
Neplatný soubor s animací
Nejedná se o LeadToolsovou Bitmapu
Bitmapa je částí bitmapového seznamu
Objektové okno nebylo vytvořeno
Operace není povolena
Operace byla zrušena
Knihovna LTTMB.DLL není nataţena
Knihovna LTLST.DLL nenataţena.
Chyba během vytváření ovladače seznamu
obrazů
Knihovna LVKRN.DLL nenataţena
S objektem typu LVectorDialog není
spojen ţádný objekt typu LVectorBase
Do objektu typu LVectorBase nebyl
nataţen ţádný vektor
Knihovna LVDLG.DLL nenataţena
Nepodporovaný příznak během pouţití
stroje DirectX na zpracování vektorových
obrazů
Příznak není podporován
S objektem není spojen ţádný objekt typu
LVectorBase
Neplatný objekt typu LVectorLayer
S objektem typu validvector není spojen
ţádný objekt typu LvectorObject
LvectorObject byl zneplatněn (můţe se
stát na ExplodeObject)
UnlockObject ( ) je volaná na neplatný
popisovač objektu
LockObject() je volána na uţ zamčený
objekt
Knihovna LTBAR.DLL nenataţena
Knihovna LTAUT.DLL nenataţena
Knihovna LTCON.DLL nenataţena
Knihovna LDKRN.DLL nenataţena
Knihovna LTEML.DLL nenataţena
Knihovna LTTLB.DLL nenataţena
Knihovna LTPNT.DLL nenataţena
Knihovna LTPDG.DLL nenataţena
Neplatná vektorová skupina
Knihovna LTWEB.DLL nenataţena
79. Dodatek B: Masky filtrů pro konvoluční filtraci
Filtr typu první derivace pro detekci vodorovných hran. Pracuje směrem nahoru.
FILTR
„derivative north 1“
3
1
10
1
186
ZODOP
4
128
MASKA
1
1
0
-1
2
0
-2
1
0
-1
Filtr typu první derivace pro detekci vodorovných hran. Pracuje směrem nahoru.
FILTR
„derivative north 2“
3
5
1
2
10
128
MASKA
1
1
1
-1
1
-2
-1
1
1
-1
Filtr typu první derivace pro detekci šikmých hran ve směru nahoře vlevo – dole vpravo. Pracuje
směrem doprava nahoru.
FILTR
„derivative north east 1“
3
4
1
3
10
128
MASKA
1
0
-1
-2
1
0
-1
2
1
0
Filtr typu první derivace pro detekci šikmých hran ve směru nahoře vlevo – dole vpravo. Pracuje
směrem doprava nahoru.
FILTR
„derivative north east 2“
3
5
1
4
10
128
MASKA
1
1
-1
-1
1
-2
-1
1
1
1
Filtr typu první derivace pro detekci svislých hran. Pracuje směrem doprava.
FILTR
„derivative east 1“
3
4
1
5
10
128
MASKA
1
-1
-2
-1
0
0
0
1
2
1
Filtr typu první derivace pro detekci svislých hran. Pracuje směrem doprava.
FILTR
„derivative east 2“
3
5
1
10
128
6
ZODOP
187
MASKA
1
-1
-1
-1
1
-2
1
1
1
1
Filtr typu první derivace pro detekci šikmých hran ve směru nahoře vpravo – dole vlevo. Pracuje
směrem doprava dolu.
FILTR
„deviated south east 1“
3
4
1
7
10
128
MASKA
1
-2
-1
0
-1
0
1
0
1
2
Filtr typu první derivace pro detekci šikmých hran ve směru nahoře vpravo – dole vlevo. Pracuje
směrem doprava dolu.
FILTR
„derivative south east 2“
3
5
1
8
10
128
MASKA
1
-1
-1
1
-1
-2
1
1
1
1
Filtr typu první derivace pro detekci vodorovných hran. Pracuje směrem dolu.
FILTR
„derivative south 1“
3
4
1
9
10
128
MASKA
1
-1
0
1
-2
0
2
-1
0
1
Filtr typu první derivace pro detekci vodorovných hran. Pracuje směrem dolu.
FILTR
„derivative south 2“
3
5
1
10
10
128
MASKA
1
-1
1
1
-1
-2
1
-1
1
1
Filtr typu první derivace pro detekci šikmých hran ve směru nahoře vlevo – dole vpravo. Pracuje
směrem doleva dolu.
FILTR
„derivative south west 1“
3
4
1
11
10
128
MASKA
1
0
1
-1
0
-2
-1
188
ZODOP
2
1
0
Filtr typu první derivace pro detekci šikmých hran ve směru nahoře vlevo – dole vpravo. Pracuje
směrem doleva dolu.
FILTR
„derivative south west 2“
3
5
1
12
10
128
MASKA
1
1
1
1
-1
-2
1
-1
-1
1
Filtr typu první derivace pro detekci svislých hran. Pracuje směrem doleva.
FILTR
„derivative
3
4
13
west 1“
1
10
128
MASKA
1
1
2
1
0
0
0
-1
-2
-1
Filtr typu první derivace pro detekci svislých hran. Pracuje směrem doleva.
FILTR
„derivative
3
5
14
west 2“
1
10
128
MASKA
1
1
1
1
1
-2
1
-1
-1
-1
Filtr typu první derivace pro detekci šikmých hran ve směru nahoře vpravo – dole vlevo. Pracuje
směrem doleva nahoru.
FILTR
„derivative north west 1“
3
4
1
15
10
128
MASKA
1
2
1
0
1
0
-1
0
-1
-2
Filtr typu první derivace pro detekci šikmých hran ve směru nahoře vpravo – dole vlevo. Pracuje
směrem doleva nahoru.
FILTR
„derivative north west 2“
3
5
1
16
10
128
MASKA
1
1
1
1
1
-2
-1
1
-1
-1
ZODOP
189
Diagonální Laplacián.
FILTR
„Laplacian 1“
3
1
17
1
10
128
MASKA
1
-1
0
-1
0
4
0
-1
0
-1
Laplacián definovaný na 4-okolí.
FILTR
„Laplacian 2“
3
1
18
1
10
128
MASKA
1
0
-1
0
-1
4
-1
0
-1
0
Laplacián definovaný na 8-okolí.
FILTR
„Laplacian 3“
3
2
19
1
10
128
MASKA
1
-1
-1
-1
-1
8
-1
-1
-1
-1
Laplacián definovaný na 8-okolí se zdůrazněním 4-okolí.
FILTR
„Laplacian 4“
3
2
1
20
10
128
MASKA
1
-1
-2
-1
-2
12
-2
-1
-2
-1
Zaostření přičtením jednonásobku Laplaciánu.
FILTR
„enhancement (small)“
3
8
1
21
10
0
MASKA
1
-1
-1
-1
-1
16
-1
-1
-1
-1
Zaostření přičtením dvojnásobku Laplaciánu.
FILTR
„enhancement
3
4
1
22
(normal)“
10
0
190
ZODOP
MASKA
1
-1
-1
-1
-1
12
-1
-1
-1
-1
Zaostření přičtením čtyřnásobku Laplaciánu.
FILTR
„enhancement
3
2
23
(strong)“
1
10
0
MASKA
1
-1
-1
-1
-1
10
-1
-1
-1
-1
Zaostření přičtením osminásobku Laplaciánu.
FILTR
„enhancement (maximum)“
3
1
1
24
10
0
MASKA
1
-1
-1
-1
-1
9
-1
-1
-1
-1
Zaostření přičtením jednonásobku Laplaciánu na 4-okolí.
FILTR
„enhancement
3
4
25
type 1“
1
10
0
MASKA
1
0
-1
0
-1
8
-1
0
-1
0
Zaostření přičtením dvojnásobku Laplaciánu na 4-okolí.
FILTR
„enhancement type 2“
3
2
1
26
10
0
MASKA
1
0
-1
0
-1
6
-1
0
-1
0
Zaostření přičtením čtyřnásobku Laplaciánu na 4-okolí.
FILTR
„enhancement type 3“
3
1
1
27
10
0
MASKA
1
0
-1
0
-1
5
-1
0
-1
0
Zaostření přičtením čtyřnásobku Laplaciánu ze dvou 1-D druhých derivací.
ZODOP
191
FILTR
„enhancement type 4“
3
1
1
28
10
0
MASKA
1
1
-2
1
-2
5
-2
1
-2
1
Vyhlazení přes 8-okolí.
FILTR
„smoothing 1“
3
9
29
1
10
0
MASKA
1
1
1
1
1
1
1
1
1
1
Přičtení vyhlazení přes 8-okolí.
FILTR
„smoothing 2“
3
10
30
1
10
0
MASKA
1
1
1
1
1
2
1
1
1
1
Přičtení poloviny vyhlazení přes 8-okolí.
FILTR
„smoothing 3“
3
11
31
1
10
0
MASKA
1
1
1
1
1
3
1
1
1
1
Přičtení vyhlazení přes 8-okolí se zdůrazněním 4-okolí.
FILTR
„smoothing 4“
3
16
32
1
10
0
MASKA
1
1
2
1
2
4
2
1
2
1
Filtr typu první derivace pro detekci svislých hran. Pracuje směrem doprava.
FILTR
„derivative horizontal 1“
3
1
MASKA
1
33
10
128
1
192
ZODOP
0
-1
0
0
0
0
0
1
0
Filtr typu první derivace pro detekci svislých hran. Pracuje směrem doprava.
FILTR
„derivative horizontal 2“
3
3
1
34
10
128
MASKA
1
-1
-1
-1
0
0
0
1
1
1
Filtr typu první derivace pro detekci vodorovných hran. Pracuje směrem dolu.
FILTR
„derivative vertical 1“
3
1
1
35
10
128
MASKA
1
0
0
0
-1
0
1
0
0
0
Filtr typu první derivace pro detekci vodorovných hran. Pracuje směrem dolu.
FILTR
„derivative vertical 2“
3
3
1
36
10
128
MASKA
1
-1
0
1
-1
0
1
-1
0
1
Detektor svislých čar pomocí druhé derivace.
FILTR
„vertical line detect“
3
1
1
37
10
128
MASKA
1
-1
-1
-1
2
2
2
-1
-1
-1
Detektor vodorovných čar pomocí druhé derivace.
FILTR
„horizontal line detect“
3
1
1
38
10
128
MASKA
1
-1
2
-1
-1
2
-1
-1
2
-1
Detektor šikmých čar ve směru vpravo nahoře – vlevo dole pomocí druhé derivace.
ZODOP
193
FILTR
„1st diagonal detection“
3
1
1
39
10
128
MASKA
1
-1
-1
2
-1
2
-1
2
-1
-1
Detektor šikmých čar ve směru vlevo nahoře – vpravo dole pomocí druhé derivace.
FILTR
„2nd diagonal detection“
3
1
1
40
10
128
MASKA
1
2
-1
-1
-1
2
-1
-1
-1
2
Robinsonův 3-úrovňový hranový detektor.
FILTR
„3-level maxabs“
3
1
4
41
1
1
MASKA
1
1
1
1
0
0
0
-1
-1
-1
1
1
0
1
0
-1
0
-1
-1
1
0
-1
1
0
-1
1
0
-1
0
-1
-1
1
0
-1
1
1
0
MASKA
2
MASKA
3
MASKA
4
Robinsonův 3-úrovňový hranový detektor s maskami 5x5.
FILTR
„3-level maxabs“
5
1
4
42
1
1
MASKA
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1
MASKA
1
1
1
1
0
1
1
1
0
-1
1
1
0
-1
-1
1
0
-1
-1
-1
0
-1
-1
-1
-1
MASKA
1
1
1
1
1
2
3
194
ZODOP
1
0
-1
-1
1
0
-1
-1
1
0
-1
-1
1
0
-1
-1
1
0
-1
-1
MASKA
0
-1
-1
-1
-1
1
0
-1
-1
-1
1
1
0
-1
-1
1
1
1
0
-1
1
1
1
1
0
4
Robinsonův 3-úrovňový hranový detektor s maskami 7x7.
FILTR
„3-level maxabs“
43
7 4 1
1
1
MASKA
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 0
1 1 0 -1
1 0 -1 -1
0 -1 -1 -1
1
1
0
-1
-1
-1
-1
1
0
-1
-1
-1
-1
-1
0
-1
-1
-1
-1
-1
-1
MASKA
2
MASKA
3
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
0 0 0 0 0 0 0
-1 -1 -1 -1 -1 -1 -1
-1 -1 -1 -1 -1 -1 -1
-1 -1 -1 -1 -1 -1 -1
MASKA
4
0
-1
-1
-1
-1
-1
-1
1
0
-1
-1
-1
-1
-1
1 1 1 1
1 1 1 1
0 1 1 1
-1 0 1 1
-1 -1 0 1
-1 -1 -1 0
-1 -1 -1 -1
1
1
1
1
1
1
0
Robinsonův 3-úrovňový hranový detektor s maskami 9x9.
FILTR
„3 level maxabs“
44
9 4 1
1
1
MASKA
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1
MASKA
1
1
1
1
1
1
1
1
0
2
ZODOP
195
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 0
1 1 0 -1
1 0 -1 -1
0 -1 -1 -1
1
1
1
0
-1
-1
-1
-1
1
1
0
-1
-1
-1
-1
-1
1
0
-1
-1
-1
-1
-1
-1
0
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1
1
1
1
0
-1
-1
-1
-1
1
1
1
1
0
-1
-1
-1
-1
MASKA
1
1
1
1
0
-1
-1
-1
-1
1
1
1
1
0
-1
-1
-1
-1
1
1
1
1
0
-1
-1
-1
-1
1
1
1
1
0
-1
-1
-1
-1
1
1
1
1
0
-1
-1
-1
-1
1
1
1
1
0
-1
-1
-1
-1
1
1
1
1
0
-1
-1
-1
-1
3
MASKA
0
-1
-1
-1
-1
-1
-1
-1
-1
1
0
-1
-1
-1
-1
-1
-1
-1
1
1
0
-1
-1
-1
-1
-1
-1
1
1
1
0
-1
-1
-1
-1
-1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
0 1 1 1
-1 0 1 1
-1 -1 0 1
-1 -1 -1 0
-1 -1 -1 -1
1
1
1
1
1
1
1
1
0
4
Robinsonův 5-úrovňový hranový detektor.
FILTR
„5-level maxabs“
3 4 1
1
45
1
MASKA
1
1
2
1
0
0
0
-1
-2
-1
2
1
0
1
0
-1
0
-1
-2
1
0
-1
2
0
-2
1
0
-1
0
-1
-2
1
0
-1
2
1
0
MASKA
2
MASKA
3
MASKA
4
Prewittův hranový detektor, verze s odmocninou.
FILTR
„Prewitt mean-square“
3 2 2
1
46
1
MASKA
1
1
1
1
0
0
0
-1
-1
-1
1
0
-1
1
0
-1
1
0
-1
MASKA
2
196
ZODOP
Prewittův hranový detektor, verze se součtem absolutních hodnot.
FILTR
„Prewitt sumabs“
47
3 2 3
1
1
MASKA
1
1
1
1
0
0
0
-1
-1
-1
1
0
-1
1
0
-1
1
0
-1
MASKA
2
Prewittův hranový detektor s maskami 5x5, verze s odmocninou.
FILTR
„Prewitt mean-square“
5 2 2
1
48
1
MASKA
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1
1
0
-1
-1
1
1
0
-1
-1
1
1
0
-1
-1
1
1
0
-1
-1
1
1
0
-1
-1
MASKA
2
Prewittův hranový detektor s maskami 5x5, verze se součtem absolutních hodnot.
FILTR
„Prewitt sumabs“
49
5 2 3
1
1
MASKA
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1
1
0
-1
-1
1
1
0
-1
-1
1
1
0
-1
-1
1
1
0
-1
-1
1
1
0
-1
-1
MASKA
2
Prewittův hranový detektor s maskami 7x7, verze s odmocninou.
FILTR
„Prewitt mean-square“
7 2 2
1
50
1
MASKA
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
ZODOP
197
1
1
1
0 -1 -1 -1
MASKA
2
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
0 0 0 0 0 0 0
-1 -1 -1 -1 -1 -1 -1
-1 -1 -1 -1 -1 -1 -1
-1 -1 -1 -1 -1 -1 -1
Prewittův hranový detektor s maskami 7x7, verze se součtem absolutních hodnot.
FILTR
„Prewitt sumabs“
51
7 2 3
1
1
MASKA
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
MASKA
2
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
0 0 0 0 0 0 0
-1 -1 -1 -1 -1 -1 -1
-1 -1 -1 -1 -1 -1 -1
-1 -1 -1 -1 -1 -1 -1
Prewittův hranový detektor s maskami 9x9, verze s odmocninou.
FILTR
„Prewitt mean-square“
9 2 2
1
52
1
MASKA
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1
1
1
1
0
-1
-1
-1
-1
1
1
1
1
0
-1
-1
-1
-1
1
1
1
1
0
-1
-1
-1
-1
1
1
1
1
0
-1
-1
-1
-1
1
1
1
1
0
-1
-1
-1
-1
1
1
1
1
0
-1
-1
-1
-1
1
1
1
1
0
-1
-1
-1
-1
1
1
1
1
0
-1
-1
-1
-1
1
1
1
1
0
-1
-1
-1
-1
MASKA
2
Prewittův hranový detektor s maskami 9x9, verze se součtem absolutních hodnot.
FILTR
„Prewitt sumabs“
53
9 2 3
1
1
MASKA
1
1
1
1
1
0 -1 -1 -1 -1
198
ZODOP
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1
1
1
1
0
-1
-1
-1
-1
1
1
1
1
0
-1
-1
-1
-1
1
1
1
1
0
-1
-1
-1
-1
1
1
1
1
0
-1
-1
-1
-1
1
1
1
1
0
-1
-1
-1
-1
1
1
1
1
0
-1
-1
-1
-1
1
1
1
1
0
-1
-1
-1
-1
1
1
1
1
0
-1
-1
-1
-1
1
1
1
1
0
-1
-1
-1
-1
MASKA
2
Robertsův detektor hran, verze s odmocninou.
FILTR
„Roberts mean-square“
2 2 2
1
54
1
MASKA
1
0
1
-1
0
-1
0
0
1
MASKA
2
Robertsův detektor hran, verze se součtem absolutních hodnot.
FILTR
„Roberts sumabs“
55
2 2 3
1
1
MASKA
1
0
1
-1
0
-1
0
0
1
MASKA
2
Sobelův hranový detektor, verze s odmocninou.
FILTR
„Sobel mean-square“
3 2 2
1
56
1
MASKA
1
1
2
1
0
0
0
-1
-2
-1
1
0
-1
2
0
-2
1
0
-1
MASKA
2
Sobelův hranový detektor, verze se součtem absolutních hodnot.
FILTR
„Sobel sumabs“
57
ZODOP
199
3 2 2
1
1
MASKA
1
1
2
1
0
0
0
-1
-2
-1
1
0
-1
2
0
-2
1
0
-1
MASKA
2
Prewittův kompasový hranový detektor.
FILTR
„compass max“
58
3 8 4
1
1
MASKA
1
1 1 -1
1 -2 -1
1 1 -1
MASKA
2
1 1 1
1 -2 -1
1 -1 -1
MASKA
3
1 1 1
1 -2 1
-1 -1 -1
MASKA
4
1 1
-1 -2
-1 -1
1
1
1
-1 1
-1 -2
-1 1
1
1
1
-1 -1
-1 -2
1 1
1
1
1
MASKA
5
MASKA
6
MASKA
7
-1 -1 -1
1 -2 1
1 1 1
MASKA
8
1 -1 -1
1 -2 -1
1 1 1
Kirschův hranový detektor.
FILTR
„Kirsch max“
59
3 8 4
1
1
MASKA
1
3
3
3
MASKA
3 -5
0 -5
3 -5
2
200
ZODOP
3 3 3
3 0 -5
3 -5 -5
MASKA
3
3 3 3
3 0 3
-5 -5 -5
MASKA
4
3 3
-5 0
-5 -5
3
3
3
-5
-5
-5
3
0
3
3
3
3
-5 -5
-5 0
3 3
3
3
3
MASKA
5
MASKA
6
MASKA
7
-5 -5 -5
3 0 3
3 3 3
MASKA
8
3 -5 -5
3 0 -5
3 3 3
Pyramidový hranový detektor s maskami 5x5.
FILTR
„pyramid maxabs“
5 4 1
1
60
1
MASKA
1
2
2
2
2
2
2
1
1
1
2
0
0
0
0
0
-2
-1
-1
-1
-2
-2
-2
-2
-2
-2
2 2 2 2
2 1 1 0
2 1 0 -1
2 0 -1 -1
0 -2 -2 -2
0
-2
-2
-2
-2
MASKA
2
MASKA
3
2 2 2 2 2
2 1 1 1 2
0 0 0 0 0
-2 -1 -1 -1 -2
-2 -2 -2 -2 -2
MASKA
4
0 2 2 2
-2 0 1 1
-2 -1 0 1
-2 -1 -1 0
-2 -2 -2 -2
2
2
2
2
0
Pyramidový hranový detektor s maskami 7x7.
FILTR
„pyramid maxabs“
7 4 1
1
61
1
ZODOP
201
MASKA
1
3
3
3
3
3
3
3
3
2
2
2
2
2
3
3
2
1
1
1
2
3
0
0
0
0
0
0
0
-3
-2
-1
-1
-1
-2
-3
-3
-2
-2
-2
-2
-2
-3
-3
-3
-3
-3
-3
-3
-3
3 3 3 3
3 2 2 2
3 2 1 1
3 2 1 0
3 2 0 -1
3 0 -2 -2
0 -3 -3 -3
3
2
0
-1
-1
-2
-3
3
0
-2
-2
-2
-2
-3
0
-3
-3
-3
-3
-3
-3
MASKA
2
MASKA
3
3 3 3 3 3 3 3
3 2 2 2 2 2 3
3 2 1 1 1 2 3
0 0 0 0 0 0 0
-3 -2 -1 -1 -1 -2 -3
-3 -2 -2 -2 -2 -2 -3
-3 -3 -3 -3 -3 -3 -3
MASKA
4
0
-3
-3
-3
-3
-3
-3
3
0
-2
-2
-2
-2
-3
3 3 3 3
2 2 2 2
0 1 1 2
-1 0 1 2
-1 -1 0 2
-2 -2 -2 0
-3 -3 -3 -3
3
3
3
3
3
3
0
Pyramidový hranový detektor s maskami 9x9.
FILTR
„pyramid maxabs“
62
9 4 1
1
1
MASKA
1
4
4
4
4
4
4
4
4
4
4
3
3
3
3
3
3
3
4
4
3
2
2
2
2
2
3
4
4
3
2
1
1
1
2
3
4
0
0
0
0
0
0
0
0
0
-4
-3
-2
-1
-1
-1
-2
-3
-4
-4
-3
-2
-2
-2
-2
-2
-3
-4
-4
-3
-3
-3
-3
-3
-3
-3
-4
-4
-4
-4
-4
-4
-4
-4
-4
-4
4 4 4 4
4 3 3 3
4 3 2 2
4 3 2 1
4 3 2 1
4 3 2 0
4 3 0 -2
4 0 -3 -3
0 -4 -4 -4
4
3
2
1
0
-1
-2
-3
-4
4
3
2
0
-1
-1
-2
-3
-4
4
3
0
-2
-2
-2
-2
-3
-4
4
0
-3
-3
-3
-3
-3
-3
-4
0
-4
-4
-4
-4
-4
-4
-4
-4
MASKA
2
MASKA
3
4
4
4
4
0
-4
-4
-4
-4
4
3
3
3
0
-3
-3
-3
-4
4
3
2
2
0
-2
-2
-3
-4
4
3
2
1
0
-1
-2
-3
-4
4
3
2
1
0
-1
-2
-3
-4
4
3
2
1
0
-1
-2
-3
-4
4
3
2
2
0
-2
-2
-3
-4
4
3
3
3
0
-3
-3
-3
-4
4
4
4
4
0
-4
-4
-4
-4
0
4
4
4
4
4
4
4
4
MASKA
4
202
ZODOP
-4
-4
-4
-4
-4
-4
-4
-4
0
-3
-3
-3
-3
-3
-3
-4
3
0
-2
-2
-2
-2
-3
-4
3
2
0
-1
-1
-2
-3
-4
3 3 3 3
2 2 2 3
1 1 2 3
0 1 2 3
-1 0 2 3
-2 -2 0 3
-3 -3 -3 0
-4 -4 -4 -4
4
4
4
4
4
4
4
0
Hranový detektor s maskami 4x4.
FILTR
„mean-square“
63
4 2 2
1
1
MASKA
1
-3 -3 -3 -3
-1 -1 -1 -1
1 1 1 1
3 3 3 3
MASKA
2
3
3
3
3
1
1
1
1
-1
-1
-1
-1
-3
-3
-3
-3
Normalizovaný Laplacián definovaný na 4-okolí.
FILTR
„Laplacian-5“
3 1 4
1
64
1
MASKA
1
0 -1 0
-1 4 -1
0 -1 0
Laplacián 4x4.
FILTR
„Laplacian - 6“
4 1 4
1
66
1
MASKA
1
1 0 0
0 -1 -1
0 -1 -1
1 0 0
1
0
0
1
Laplacián získaný násobením dvou 1-D druhých derivací. Moţné pouţití pro detekci bodů.
FILTR
„Laplacian - 7“
3 1 4
1
67
1
MASKA
1
1 -2 1
-2 4 -2
1 -2 1
Kasvandova - Laplaceova identita, filtr typu druhá derivace.
FILTR
68
„Kasvand - Laplacian Identity“
ZODOP
203
5 1 4
1
1
MASKA
1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
24
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
Kasvandův detektor čar, filtr typu druhá derivace, výsledkem je maximum výsledků masek pouze
v případě, ţe je kladné, jinak je výsledek nula.
FILTR
69
„Kasvand line enhancement max-floor“
5 4 5
1
1
MASKA
1
-1 -1 -1 -1 -1
0 0 0 0 0
2 2 2 2 2
0 0 0 0 0
-1 -1 -1 -1 -1
MASKA
2
0 -1 -1 0 2
-1 -1 0 2 0
-1 0 2 0 -1
0 2 0 -1 -1
2 0 -1 -1 0
MASKA
3
-1
-1
-1
-1
-1
0
0
0
0
0
2
2
2
2
2
0
0
0
0
0
-1
-1
-1
-1
-1
MASKA
4
2 0 -1 -1 0
0 2 0 -1 -1
-1 0 2 0 -1
-1 -1 0 2 0
0 -1 -1 0 2
Eberleinův detektor hran pouţívající první i druhou derivaci.
FILTR
„Eberlein maxabs-sub-floor“
3 3 6
1
70
1
MASKA
1
1
1
1
0 -1
0 -1
0 -1
MASKA
2
1 1 1
0 0 0
-1 -1 -1
MASKA
3
-1 -1 -1
-1 8 -1
-1 -1 -1
Rozšířený Laplacián s maskou 5x5.
FILTR
„extended Laplacian“
71
204
ZODOP
5 1 4
1
1
MASKA
1
1 1 0 1
1 0 -2 0
0 -2 -4 -2
1 0 -2 0
1 1 0 1
1
1
0
1
1
Součin konvoluce Laplaciánem s maskou 5x5 a Laplaciánem s maskou 3x3.
FILTR
72
„two channel Laplacian - product“
5 2 7
1
1
MASKA
1
1 1 0 1
1 0 -2 0
0 -2 -4 -2
1 0 -2 0
1 1 0 1
1
1
0
1
1
0 0 0 0
0 0 -1 0
0 -1 4 -1
0 0 -1 0
0 0 0 0
0
0
0
0
0
MASKA
2
Vyhlazení přes okolí 4x4.
FILTR
„smoother“
73
4 1 8
1
1
MASKA
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
Vyhlazení přes okolí 5x5 se zdůrazněním původního obrazu.
FILTR
„smoother“
74
5 1 8
1
1
MASKA
1
0
1
2
1
0
1
2
3
2
1
2
3
4
3
2
1
2
3
2
1
0
1
2
1
0
Vyhlazení přes okolí 4x4 se zdůrazněním původního obrazu.
FILTR
„smoother“
75
4 1 8
1
1
MASKA
1
0
1
1
1
2
2
1
2
2
0
1
1
ZODOP
0
205
1
1
0
Vyhlazení přes okolí 5x5.
FILTR
„smoother“
76
5 1 8
1
1
MASKA
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
Vyhlazení přes okolí 2x2.
FILTR
„smoother“
77
2 1 8
1
1
MASKA
1
1
1
1
1
Vyhlazení přes okolí 6x6.
FILTR
„smoother“
78
6 1 8
1
1
MASKA
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
Detektor hran a bodů pomocí odečtení vyhlazení přes okolí 4x4.
FILTR
„normalizer“
79
4 1 9
1
1
MASKA
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
Detektor hran a bodů pomocí odečtení vyhlazení přes okolí 5x5.
FILTR
„normalizer“
80
5 1 9
1
1
MASKA
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
206
ZODOP
1
1
1
1
1
Přičtení čtyřnásobku širokého Laplaciánu.
FILTR
„f-delsq(f)“
81
5 1 4
1
1
MASKA
1
0
0
-1
0
0
0 -1
0 0
0 5
0 0
0 -1
0 0
0 0
0 -1
0 0
0 0
Prostá druhá derivace svisle maskou 5x5.
FILTR
„Fyy simple“
82
5 1 4
1
1
MASKA
1
0
0
0
0
0
0 1
0 0
0 -2
0 0
0 1
0
0
0
0
0
0
0
0
0
0
Šablona objektu. Filtr je určen k tomu, aby si uţivatel zadal masku podle tvaru objektu, kterým chce
vyhlazovat.
FILTR
„template of object“
8 1 8
1
84
1
MASKA
1
0
0
9
5
5
5
5
9
0
0
5
5
0
0
0
0
0
0
5
5
5
5
5
9
0
0
5
5
0
0
0
0
0
0
5
5
5
5
5
9
5
5
5
5
0
0
0
0
7
7
5
5
5
5
5
9
7
9
0
0
0
0
0
0
Normalizovaný filtr typu první derivace pro detekci vodorovných hran.
FILTR
„derivative north“
85
3 1 4
MASKA
1
1
0
-1
2
0
-2
1
0
-1
Filtr typu první derivace pro detekci svislých hran. Kvůli nesymetrii masky neumoţňuje přesnou
lokalizaci hran, výhodou je menší maska.
FILTR
„first differential“
2 1 10
1
128
86
ZODOP
207
MASKA
1
-1
0
1
0
Marrův detektor hran s maskou 5x5.
FILTR
„Marr 1/sqrt2, 5 x 5“
87
5 1 10
128 128
MASKA
6
1
0 3
3 15
0 -108
3 15
0 3
6 3
0 15
0 6
0 15
6 3
0
3
3
0
Marrův detektor hran s maskou 7x7.
FILTR
„Marr 1, 7 x 7 „
88
7 1 10
128 128
MASKA
0
0
1
2 8
1
0
0
1
0
3
7
-16
7
3
0
1
2
7
8
0 -16
-52 -16
0 -16
7
8
1
2
1
7
0
8
0
7
1
0
3
7
2
7
3
0
0
0
1
1
0
0
Marrův detektor hran s maskou 9x9.
FILTR
„Marr sqrt2, 9 x 9 „
89
9 1 10
128 128
MASKA
0
0
1
1 4
2 4
1 4
1
0
0
0
1
2
2
0
2
2
1
0
1
1
2
4
-8
-16
-8
4
2
1
1
4
2
-16
-28
-16
2
4
1
2
4
0
-8
-16
-8
0
4
2
1
4
2
2
0
2
2
4
1
1
2
4
4
4
4
4
2
1
0
1
2
1
2
1
2
1
0
0
0
1
1
0
0
Marrův detektor hran s maskou 11x11.
FILTR
„Marr 2, 11 x 11 „
90
11 1 10
128 128
MASKA
0 0
0 1
1 1
1 2 2
1 2 1
1 2 1
1
1
1
2
0
-2
-4
1
2
2
-2
-8
-10
1
2
1
-4
-10
-12
1
2
1
-2
-8
-10
1
2
1
0
-2
-4
1
2
2
1
1
2
2
1
1
0
1
1
2
2
2
0
0
1
1
1
1
208
1
1
ZODOP
2 1
2 2
1 1
0 1
0 0
-2 -8
0 -2
2 2
1 2
1 1
-10 -8
-4 -2
1
1
2
2
1
1
-2 1 2 1
0 2 2 1
1 2 2 1 1
2 2 1 1 0
1 1 1 0 0
Marrův detektor hran s maskou 23x23.
FILTR
„Marr 2sqrt(2), 23 x 23 „
91
23 1 10
4096 128
MASKA
1
0 0 0 0 0 0 0 0
0
1
1
1
1
1
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 1 1
1
2
2
2
2
2
1 1 1 0 0 0 0 0 0
0 0 0 0 0 1 2 3
4
5
5
6
5
5
4 3 2 1 0 0 0 0 0
0 0 0 1 1 2 4 6
8
10
12
12
12
10
8 6 4 2 1 1 0 0 0
0 0 0 1 2 5 8 12 15
19
21
21
21
19 15 12 8 5 2 1 0 0 0
0 0 1 2 5 9 14 19 24
27
29
29
29
27 24 19 14 9 5 2 1 0 0
0 1 2 4 8 14 21 27 30
29
27
26
27
29 30 27 21 14 8 4 2 1 0
0 1 3 6 12 19 27 30 26
16
5
0
5
16 26 30 27 19 12 6 3 1 0
0 1 4 8 15 24 30 26
9 -18 -44 -55 -44 -18
9 26 30 24 15 8 4 1 0
1 2 5 10 19 27 29 16 –18 -67 -111 -129 -111 -67 -18 16 29 27 19 10 5 2 1
1 2 5 12 21 29 27 5 -44 -111 -171 -195 -171 -111 –44 5 27 29 21 12 5 2 1
1 2 6 12 21 29 26 0 -55 -129 -195 -224 -195 -129 -55 0 26 29 21 12 6 2 1
1 2 5 12 21 29 27 5 -44 -111 -171 -195 -171 -111 -44 5 27 29 21 12 5 2 1
1 2 5 10 19 27 29 16 -18 -67 -111 -129 –111 -67 -18 16 29 27 19 10 5 2 1
0 1 4 8 15 24 30 26
9 -18 -44 -55 -44 -18
9 26 30 24 15 8 4 1 0
0 1 3 6 12 19 27 30 26
16
5
0
5
16 26 30 27 19 12 6 3 1 0
0 1 2 4 8 14 21 27 30
29
27
26
27
29 30 27 21 14 8 4 2 1 0
0 0 1 2 5 9 14 19 24
27
29
29
29
27 24 19 14 9 5 2 1 0 0
0 0 0 1 2 5 8 12 15
19
21
21
21
19 15 12 8 5 2 1 0 0 0
0 0 0 1 1 2 4 6
8
10
12
12
12
10
8 6 4 2 1 1 0 0 0
0 0 0 0 0 1 2 3
4
5
5
6
5
5
4 3 2 1 0 0 0 0 0
0 0 0 0 0 0 1 1
1
2
2
2
2
2
1 1 1 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0
1
1
1
1
1
0 0 0 0 0 0 0 0 0
Marrův detektor hran s maskou 31x31.
FILTR
„Marr 4, 31 x 31 „
92
31 1 10
4096 128
MASKA
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
2
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
2
2
2
2
3
2
2
2
2
1
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
1
1
2
2
3
4
4
4
5
4
4
4
3
2
2
1
1
1
0
0
0
0
0
0
0
0
0
1
1
2
2
3
4
5
6
7
7
7
7
7
6
5
4
3
2
2
1
1
0
0
0
0
0
0
0
1
1
2
3
4
5
7
8
9
10
10
11
10
10
9
8
7
5
4
3
2
1
1
0
0
0
0
0
1
1
2
3
4
6
8
10
11
12
13
14
14
14
13
12
11
10
8
6
4
3
2
1
1
0
0
0
0
1
2
3
4
6
9
11
12
14
14
15
15
15
15
15
14
14
12
11
9
6
4
3
2
1
0
0
0
1
1
2
4
6
9
11
13
14
15
15
14
13
13
13
14
15
15
14
13
11
9
6
4
2
1
1
0 0 0 0
1
1
1 1 1
0 0
0 1 1 1
1
1
2 1 1
1 1
1 1 2 2
2
2
3 2 2
2 2
2 2 3 4
4
4
5 4 4
4 3
3 4 5 6
7
7
7 7 7
6 5
5 7 8 9 10 10 11 10 10
9 8
8 10 11 12 13 14 14 14 13 12 11
11 12 14 14 15 15 15 15 15 14 14
13 14 15 15 14 13 13 13 14 15 15
15 15 14 11 8
5
4 5 8 11 14
15 13 9 2 -4 -9 -11 -9 -4
2 9
14 9
0-11-22 -31 -34 -31-22-11 0
11 2 -11-28-44 -56 -60 -56-44-28-11
8 -4 -22-44-65 -80 -86 -80-65-44-22
5 -9 -31-56-80 -98-104 -98-80-56-31
4 –11-34-60-86-104-112-104-86-60-34
5 -9 -31-56-80 -98-104 -98-80-56-31
8 -4 -22-44-65 -80 -86 -80-65-44-22
11 2 -11-28-44 -56 -60 -56-44-28-11
14 9
0-11-22 -31 -34 -31-22-11 0
15 13 9 2 –4 -9 -11 -9 -4
2 9
15 15 14 11 8
5
4 5 8 11 14
13 14 15 15 14 13 13 13 14 15 15
11 12 14 14 15 15 15 15 15 14 14
8 10 11 12 13 14 14 14 13 12 11
5 7 8 9 10 10 11 10 10
9 8
3 4 5 6
7
7
7 7 7
6 5
2 2 3 4
4
4
5 4 4
4 3
1 1 2 2
2
2
3 2 2
2 2
0 0
1 0
1 1
2 2
4 3
7 5
10 8
12 11
14 13
15 15
13 15
9 14
2 11
-4 8
-9 5
-11 4
-9 5
-4 8
2 11
9 14
13 15
15 15
14 13
12 11
10 8
7 5
4 3
2 2
1 1
0
0
1
1
2
4
6
9
11
13
14
15
15
14
13
13
13
14
15
15
14
13
11
9
6
4
2
1
1
0
0
0
1
2
3
4
6
9
11
12
14
14
15
15
15
15
15
14
14
12
11
9
6
4
3
2
1
0
0
0
0
1
1
2
3
4
6
8
10
11
12
13
14
14
14
13
12
11
10
8
6
4
3
2
1
1
0
0
0
0
0
1
1
2
3
4
5
7
8
9
10
10
11
10
10
9
8
7
5
4
3
2
1
1
0
0
0
0
0
0
0
1
1
2
2
3
4
5
6
7
7
7
7
7
6
5
4
3
2
2
1
1
0
0
0
0
0
0
0
0
0
1
1
1
2
2
3
4
4
4
5
4
4
4
3
2
2
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
2
2
2
2
3
2
2
2
2
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
2
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
ZODOP
0 0 0 0 0
0 0 0 0 0
209
0
0
0
0
0
0
0 0
0 0
1
0
1
0
1
0
1
1
1
1
2
1
1
1
1
1
1
0
1
0
1
0
0
0
0
0
0
0
0
0
Marrův detektor hran s maskou 41x41.
FILTR
„Marr 4sqrt(2), 41 x 41 „
93
41 1 10
4096 128
MASKA 1 (pouze čtvrtina masky - maska je symetrická podle obou os)
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
2
2
2
2
2
2
0
0
0
0
0
0
0
0
1
1
1
1
1
2
2
2
3
3
3
3
3
0
0
0
0
0
0
0
1
1
1
1
2
2
3
3
3
4
4
4
4
4
0
0
0
0
0
0
1
1
1
2
2
2
3
3
4
4
5
5
5
5
5
0
0
0
0
0
1
1
1
2
2
3
3
4
4
5
5
6
6
6
6
6
0
0
0
0
1
1
1
2
2
3
3
4
5
5
6
6
7
7
7
7
7
0
0
0
0
1
1
2
2
3
4
4
5
6
6
7
7
8
8
8
8
8
0
0
0
1
1
1
2
3
3
4
5
6
7
7
8
8
7
7
7
7
7
0
0
1
1
1
2
2
3
4
5
6
7
7
8
7
7
6
6
5
4
4
0
0
1
1
1
2
3
4
5
6
7
7
8
7
7
5
4
2
1
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
2
2
2
2
2
3
3
3
3
4
3
4
4
5
4
5
5
6
5
6
6
7
6
7
7
8
7
8
8
7
8
7
7
6
7
7
5
4
6
5
3
0
5
2 -1 -5
3 -1 -6 -10
0 -5 -10 -17
-2 -8 -15 -23
-4 -11 -19 -28
-6 -13 -22 -30
-6 -14 -23 -31
1
1
1
2
3
4
5
6
7
8
7
6
2
-2
-8
-15
-23
-30
-35
-39
-40
1
1
1
2
3
4
5
6
7
8
7
5
1
-4
-11
-19
-28
-35
-42
-45
-47
1
1
1
2
3
4
5
6
7
8
7
4
0
-6
-13
-22
-30
-39
-45
-49
-51
1
1
1
2
3
4
5
6
7
8
7
4
0
-6
-14
-23
-31
-40
-47
-51
-52
Marrův detektor hran s maskou 53x53.
FILTR
„Marr 8, 53 x 53 „
94
53 1 10
4096 128
MASKA 1 (pouze čtvrtina masky - maska je symetrická podle obou os)
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
2
2
2
2
2
2
2
3
3
3
3
0
0
0
0
0
0
0
1
1
1
1
1
1
1
2
2
2
2
2
3
3
3
3
3
3
3
3
0
0
0
0
0
0
0
1
1
1
1
1
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
0
0
0
0
0
0
1
1
1
1
1
2
2
2
2
3
3
3
3
3
3
4
4
4
4
4
4
0
0
0
0
0
1
1
1
1
1
2
2
2
2
3
3
3
3
3
4
4
4
4
4
4
4
4
0
0
0
0
1
1
1
1
1
2
2
2
2
3
3
3
3
4
4
4
4
4
4
4
4
4
4
0
0
0
0
1
1
1
1
2
2
2
2
3
3
3
3
4
4
4
4
4
4
4
3
3
3
3
0
0
0
1
1
1
1
1
2
2
2
3
3
3
3
4
4
4
4
4
3
3
3
3
3
2
2
0
0
1
1
1
1
1
2
2
2
3
3
3
3
4
4
4
4
3
3
3
2
2
2
1
1
1
0
0
1
1
1
1
1
2
2
3
3
3
3
4
4
4
4
3
3
2
2
1
1
0
0
0
0
0
0
1
1
1
1
2
2
2
3
3
3
4
4
4
4
3
3
2
1
1
0
-1
-2
-2
-3
-3
Marrův detektor hran s maskou 69x69.
FILTR
„Marr 8sqrt(2), 69 x 69 „
95
0
1
1
1
1
1
2
2
3
3
3
4
4
4
4
3
3
2
1
0
-1
-2
-3
-4
-5
-5
-5
0
1
1
1
1
2
2
2
3
3
3
4
4
4
3
3
2
1
0
-1
-3
-4
-5
-7
-8
-8
-8
0
1
1
1
1
2
2
3
3
3
4
4
4
4
3
2
1
0
-1
-3
-5
-6
-8
-10
-11
-11
-12
1
1
1
1
2
2
2
3
3
3
4
4
4
3
3
2
1
-1
-3
-5
-7
-9
-11
-13
-14
-15
-15
1
1
1
1
2
2
2
3
3
4
4
4
4
3
2
1
0
-2
-4
-6
-9
-11
-14
-15
-17
-18
-18
1
1
1
1
2
2
2
3
3
4
4
4
4
3
2
1
-1
-3
-5
-8
-11
-14
-16
-18
-20
-21
-21
1
1
1
1
2
2
3
3
3
4
4
4
3
3
2
0
-2
-4
-7
-10
-13
-15
-18
-21
-22
-23
-24
1
1
1
1
2
2
3
3
3
4
4
4
3
3
1
0
-2
-5
-8
-11
-14
-17
-20
-22
-24
-25
-26
1
1
1
1
2
2
3
3
3
4
4
4
3
2
1
0
-3
-5
-8
-11
-15
-18
-21
-23
-25
-27
-27
1
1
1
1
2
2
3
3
3
4
4
4
3
2
1
0
-3
-5
-8
-12
-15
-18
-21
-24
-26
-27
-28
0 0 0 0 0 0
0 0 0 0 0 0
210
ZODOP
69 1 10
4096 128
MASKA 1 (pouze čtvrtina masky - maska je symetrická podle obou os)
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
0
0
1
1
1
1
1
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
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
1
1
1
1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
1
1
1
1
1
1
1
1
1
1
0 0 0 0
0 0 0 0
0 0 0 0
0 0 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 2
1 2 2 2
2 2 2 2
2 2 2 2
2 2 2 2
2 2 2 2
2 2 2 2
2 2 2 2
2 2 2 2
2 2 2 1
2 2 1 1
2 1 1 1
2 1 1 1
1 1 1 0
1 1 0 0
1 1 0 -1
1 0 0 -1
1 0 -1 -1
0 0 -1 -2
0 0 -1 -2
0 0 -1 -2
0 -1 -1 -2
0 -1 -1 -2
0 -1 -2 -2
0
0
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
1
1
1
1
0
0
-1
-1
-2
-2
-2
-3
-3
-3
-3
-3
0
0
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
1
1
1
0
0
-1
-1
-2
-2
-3
-3
-4
-4
-4
-4
-5
0
0
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
1
1
1
0
0
-1
-1
-2
-3
-3
-4
-4
-5
–5
-5
-6
-6
0
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
1
1
1
0
0
-1
-1
-2
-3
-3
-4
-5
-5
-6
-6
-7
-7
-7
0
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
1
1
1
0
-1
-1
-2
-3
-3
-4
-5
-6
-6
-7
-7
-8
-8
-8
0 0 0 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2
2 2 2 2 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 0 0 0 0 0 0
0 0 0 0 0 -1 -1 -1
0 -1 -1 -1 -1 -1 -1 -2
-1 -1 -2 -2 -2 -2 -2 -2
-2 -2 -2 -3 -3 -3 -3 -3
-2 -3 -3 -4 -4 -4 -4 -5
-3 -4 -4 -5 -5 -5 -6 -6
-4 -5 -5 -6 -6 -7 -7 -7
-5 -6 -6 -7 -7 -8 -8 -8
-6 -7 -7 -8 -9 -9 -9 -9
-7 -8 -8 -9 -9 -9-10-10
-7 -8 -8 -9-10-10-10-10
-8 -9 -9 -9-10-10-11-11
-9 -9-10-10-10-11-11-11
-9 -9-10-10-11-11-12-12
-9-10-10-11-11-12-12-12
-9-10-10-11-11-12-12-12

Podobné dokumenty

Smlouva o poskytnutí dotace č. 3/2015

Smlouva o poskytnutí dotace č. 3/2015 2. l n C L u b o mr C \ r k ,P h . D Bldlisdi

Více

Získávání 3D modelů lidských tkání z obrazových dat

Získávání 3D modelů lidských tkání z obrazových dat v obraze jsou dány vlastnostmi tkáně v daném místě průřezu. Na rozdíl od rentgenového snímku, kde jsou jasy určeny vlastnostmi tkání na přímce mezi rentgenkou a filmem, obsahuje CT snímek informace...

Více

Zoner Media Explorer 6

Zoner Media Explorer 6 Pro zrychlení procházení složek s obrázky se používají buď náhledy uložené v obrázcích (např. EXIF) nebo se generují z obrázků a pak ukládají do dočasného souboru na disk. Odsud jsou načteny při je...

Více

Daily activity rhythm and habitat use of the semi-free

Daily activity rhythm and habitat use of the semi-free Zubr evropský (Bison bonasus) vyhynul ve volné přírodě na začátku 20-tého století. Následně byl ze zajetí reintrodukován do několika oblastí střední Evropy a od té doby jeho početnost roste. Nicmén...

Více

hp photosmart 1315

hp photosmart 1315 papíru. Pro tiskárnu může být obtížné „uchopit“ list papíru, pokud je v podavači pouze jeden nebo dva listy. Zkontrolujte, že stoh papírů obsahuje pouze tolik listů, aby nepřesahoval horní hranu př...

Více

Plochý digitální skener HP Scanjet 5590

Plochý digitální skener HP Scanjet 5590 • Funkce kopírování umožFuje rychle a snadno kopírovat dokumenty za pomoci tiskárny. Digitalizujte snímky z diapozitiv( a negativ( s pomocí dodávaného adaptéru na transparentní materiály. • Komplex...

Více

Lidary a letecké laserové skenování

Lidary a letecké laserové skenování různých emitorů. U výkonných lidarů se používají pevnolátkové lasery rubínové nebo modernější Nd:YAG. V systémech nevyžadujících vysoký výkon pevnolátkových laserů se s úspěchem používají lasery di...

Více

Skener HP Scanjet 5530 Photosmart

Skener HP Scanjet 5530 Photosmart • Formát fotografií 9 x 13 cm nebo standardní 10 x 15 cm. • Rychlost a snadné použití – skenovací tlačítko, žádné čekání, žádné zahívání. • Šetrné vakuové podávání nepoškozuje fotografie. • Adapté...

Více