Analógový a diskrétny obraz. Prednáška "Analógové a diskrétne spôsoby reprezentácie obrazu a zvuku"

  • 21.07.2019

Obrázky pozostávajúce z diskrétnych prvkov, z ktorých každý môže mať iba konečný počet rozlíšiteľných hodnôt, ktoré sa menia v konečnom čase, sa nazývajú diskrétne. Je potrebné zdôrazniť, že prvky diskrétneho obrazu môžu mať vo všeobecnosti nerovnakú plochu a každý z nich môže mať nerovnaký počet rozlíšiteľných stupňov.

Ako je uvedené v prvej kapitole, sietnica prenáša diskrétne obrazy do vyšších častí vizuálneho analyzátora.

Ich zdanlivá kontinuita je len jednou z ilúzií zraku. Toto „kvantovanie“ pôvodne súvislých obrazov nie je určené obmedzeniami spojenými s rozlišovacou schopnosťou optického systému oka a dokonca ani morfologickými štruktúrnymi prvkami zrakového systému, ale funkčnou organizáciou neurónových sietí.

Obraz je rozdelený na diskrétne prvky pomocou receptívnych polí, ktoré kombinujú jeden alebo druhý počet fotoreceptorov. Recepčné polia vytvárajú primárnu izoláciu užitočného svetelného signálu priestorovým a časovým sčítaním.

Centrálnu časť sietnice (fovea) zaberajú iba čapíky, na periférii, mimo fovey, sú čapíky aj tyčinky. V podmienkach nočného videnia majú kužeľové polia v centrálnej časti sietnice približne rovnakú veľkosť (asi 5 "v uhlovej miere). Počet takýchto polí vo fovee, ktorej uhlové rozmery sú približne 90", je približne 200. Hlavnú úlohu v podmienkach nočného videnia zohrávajú tyčové polia, ktoré zaberajú zvyšok sietnice. Majú uhlovú veľkosť asi 1 ° po celom povrchu sietnice. Počet takýchto polí v sietnici je asi 3 000. Nielen detekciu, ale aj vyšetrenie slabo osvetlených predmetov za týchto podmienok vykonávajú periférne oblasti sietnice.

S rastúcim osvetlením začína hrať hlavnú úlohu ďalší systém zásobných buniek, kužeľové receptívne polia. Vo fovee spôsobuje zvýšenie osvetlenia postupné znižovanie hodnoty efektívneho poľa, až kým pri jase okolo 100 asb neklesne na jeden kužeľ. Na periférii sa s nárastom osvetlenia postupne vypínajú (inhibujú) tyčové polia a do činnosti vstupujú kužeľové polia. Kužeľové polia na periférii, podobne ako foveálne polia, majú schopnosť klesať v závislosti od svetelnej energie, ktorá na ne dopadá. Najväčší počet čapíkov, ktoré môžu mať s rastúcim osvetlením kužeľové receptívne polia, rastie od stredu k okrajom sietnice a pri uhlovej vzdialenosti 50-60° od stredu dosahuje približne 90.

Dá sa vypočítať, že za dobrých podmienok denného svetla dosahuje počet receptívnych polí okolo 800 000. Táto hodnota približne zodpovedá počtu vlákien v ľudskom zrakovom nerve. Diskrimináciu (rozlíšenie) predmetov v dennom videní vykonáva najmä fovea, kde sa receptívne pole môže zredukovať na jeden kužeľ a samotné čapíky sú umiestnené najhustejšie.

Ak sa počet zásobných buniek sietnice dá určiť v uspokojivej aproximácii, potom stále nie je dostatok údajov na určenie počtu možných stavov receptívnych polí. Na základe štúdia diferenciálnych prahov receptívnych polí možno urobiť len niektoré odhady. Prahový kontrast vo foveálnych receptívnych poliach v určitom prevádzkovom rozsahu osvetlenia je rádovo 1. Počet rozlíšiteľných gradácií je malý. V celom rozsahu reštrukturalizácie kužeľového foveálneho receptívneho poľa sa líši 8-9 gradácií.

Obdobie akumulácie v receptívnom poli - takzvané kritické trvanie - je určené v priemere asi 0,1 s, ale pri vysokých úrovniach osvetlenia sa môže zjavne výrazne znížiť.

V skutočnosti musí byť model popisujúci diskrétnu štruktúru prenášaných obrazov ešte zložitejší. Je potrebné vziať do úvahy vzťah medzi veľkosťou vnímavého poľa, prahmi a kritickým trvaním, ako aj štatistickým charakterom prahov zraku. Zatiaľ to však nie je potrebné. Stačí ako obrazový model znázorniť súbor prvkov tej istej oblasti, ktorých uhlové rozmery sú menšie ako uhlové rozmery najmenšieho detailu rozlíšeného okom, ktorých počet rozlíšiteľných stavov je väčší ako maximálny počet rozlíšiteľných gradácií jasu a ktorých čas diskrétnej zmeny je kratší ako doba blikania pri kritickej frekvencii fúzie blikania.

Ak nahradíme obrazy skutočných súvislých objektov vonkajšieho sveta takýmito diskrétnymi obrazmi, oko si substitúciu nevšimne.* V dôsledku toho diskrétne obrazy tohto druhu neobsahujú aspoň o nič menej informácií, ako vníma zrakový systém. **

* Farebné a objemové obrázky je možné nahradiť aj samostatným modelom.
** Problém nahradenia súvislých obrazov diskrétnymi je pre filmovú a televíznu techniku ​​veľmi dôležitý. Kvantovanie času je jadrom tejto techniky. V televíznych systémoch s pulzným kódom je obraz tiež rozdelený na samostatné prvky a kvantovaný v zmysle jasu.

V predchádzajúcej kapitole sme študovali lineárne priestorovo invariantné systémy v spojitej dvojrozmernej doméne. V praxi sa stretávame s obrázkami, ktoré majú obmedzenú veľkosť a zároveň sa počítajú v diskrétnej množine bodov. Preto je potrebné doteraz vyvinuté metódy prispôsobovať, rozširovať a upravovať tak, aby sa dali aplikovať aj v tejto oblasti. Objavuje sa aj niekoľko nových bodov, ktoré si vyžadujú dôkladné zváženie.

Vzorkovacia teoréma hovorí, za akých podmienok môže byť súvislý obraz presne zrekonštruovaný z diskrétnej množiny hodnôt. Dozvieme sa tiež, čo sa stane, keď nie sú splnené podmienky na jeho použiteľnosť. To všetko má veľa spoločného s vývojom vizuálnych systémov.

Techniky, ktoré vyžadujú prechod do frekvenčnej domény, sa stali populárnymi čiastočne vďaka algoritmom na rýchly výpočet diskrétnej Fourierovej transformácie. Je však potrebné dávať pozor, pretože tieto metódy predpokladajú prítomnosť periodického signálu. Budeme diskutovať o tom, ako možno túto požiadavku splniť a k čomu porušenie vedie.

7.1. Obmedzenie veľkosti obrázkov

V praxi majú obrázky vždy konečné rozmery. Uvažujme obdĺžnikový obrázok so šírkou a výškou I. Teraz nie je potrebné brať integrály vo Fourierovej transformácii v nekonečných limitoch:

Je zvláštne, že na obnovenie funkcie nepotrebujeme poznať všetky frekvencie. Vedieť, že kedy je ťažké obmedzenie. Inými slovami, funkcia, ktorá je nenulová iba v obmedzenej oblasti roviny obrazu, obsahuje oveľa menej informácií ako funkcia, ktorá túto vlastnosť nemá.

Aby ste si to overili, predstavte si, že rovina obrazovky je pokrytá kópiami daného obrázka. Inými slovami, rozširujeme náš obraz na funkciu, ktorá je periodická v oboch smeroch

Tu je najväčšie celé číslo nepresahujúce x. Fourierova transformácia takéhoto znásobeného obrazu má tvar

Používanie vhodne zvolených konvergenčných faktorov v cvičení. 7.1 je dokázané, že

teda

odkiaľ vidíme, že sa rovná nule všade, okrem diskrétnej množiny frekvencií. Na zistenie nám teda stačí vedieť v týchto bodoch. Funkcia sa však získa jednoduchým orezaním oblasti, pre ktorú. Preto, aby sme obnovili, stačí, aby sme vedeli len pre všetkých Toto je spočítateľná množina čísel.

Všimnite si, že transformácia periodickej funkcie sa ukáže ako diskrétna. Inverzná transformácia môže byť reprezentovaná ako séria, pretože

Analógové a diskrétne poskytovanie grafických informácií Osoba je schopná vnímať a uchovávať informácie vo forme obrazov (vizuálnych, zvukových, hmatových, chuťových a čuchových). Vizuálne obrázky je možné ukladať vo forme obrázkov (kresby, fotografie atď.) a zvukové obrázky je možné nahrávať na platne, magnetické pásky, laserové disky atď.

Informácie, vrátane grafiky a zvuku, môžu byť prezentované v analógovej alebo diskrétnej forme. Pri analógovej reprezentácii nadobúda fyzikálna veličina nekonečnú množinu hodnôt a jej hodnoty sa neustále menia. V diskrétnej reprezentácii nadobúda fyzikálna veličina konečnú množinu hodnôt a jej hodnota sa prudko mení.

Uveďme príklad analógovej a diskrétnej reprezentácie informácie. Poloha tela na naklonenej rovine a na schodisku je určená hodnotami súradníc X a Y. Keď sa teleso pohybuje po naklonenej rovine, jeho súradnice môžu nadobúdať nekonečnú množinu neustále sa meniacich hodnôt. od určitého rozsahu a pri pohybe po schodisku len určitý súbor hodnôt a prudko sa menia


Príkladom analógového znázornenia grafickej informácie môže byť napríklad maliarske plátno, ktorého farba sa plynule mení a diskrétne - obraz vytlačený atramentovou tlačiarňou a pozostávajúci zo samostatných bodov rôznych farieb. Príkladom analógového úložiska zvukových informácií je vinylová platňa (zvuková stopa neustále mení svoj tvar) a diskrétnym úložiskom je zvukové CD (ktorého zvuková stopa obsahuje oblasti s rôznou odrazivosťou).

Prevod grafickej a zvukovej informácie z analógovej do diskrétnej formy sa vykonáva vzorkovaním, to znamená rozdelením súvislého grafického obrazu a súvislého (analógového) zvukového signálu na samostatné prvky. V procese vzorkovania sa vykonáva kódovanie, to znamená priradenie každého prvku ku konkrétnej hodnote vo forme kódu.

Vzorkovanie je transformácia súvislého obrazu a zvuku na súbor diskrétnych hodnôt vo forme kódov.

Zvuk v pamäti počítača

Základné pojmy: audio adaptér, vzorkovacia frekvencia, kapacita registra, zvukový súbor.

Fyzikálnym charakterom zvuku sú vibrácie v určitom frekvenčnom rozsahu, prenášané zvukovou vlnou vzduchom (alebo iným elastickým prostredím). Proces premeny zvukových vĺn na binárny kód v pamäti počítača: zvuková vlna -> mikrofón -> striedavý elektrický prúd -> audio adaptér -> binárny kód -> pamäť počítača .

Proces reprodukcie zvukových informácií uložených v pamäti počítača:
pamäť počítača -> binárny kód -> audio adaptér -> striedavý elektrický prúd -> reproduktor -> zvuková vlna.

Audio adaptér(zvuková karta) - špeciálne zariadenie pripojené k počítaču určené na prevod elektrických vibrácií zvukovej frekvencie na číselný binárny kód pri zadávaní zvuku a na spätný prevod (z číselného kódu na elektrické vibrácie) pri prehrávaní zvuku.

Počas nahrávania zvuku audio adaptér s určitou periódou meria amplitúdu elektrického prúdu a vstupuje do reg pp je binárny kód získanej hodnoty. Potom sa výsledný kód z registra prepíše do pamäte RAM počítača. Kvalita zvuku počítača je určená charakteristikami zvukového adaptéra: vzorkovacia frekvencia a bitová hĺbka.

Vzorkovacia frekvencia Je to počet meraní vstupného signálu za sekundu. Frekvencia sa meria v hertzoch (Hz). Jedno meranie za jednu sekundu zodpovedá frekvencii 1 Hz. 1000 meraní za jednu sekundu -1 kilohertz (kHz). Typické frekvencie disketácie audio adaptérov: 11 kHz, 22 kHz, 44,1 kHz atď.

Veľkosť registra- počet bitov v registri audio adaptéra. Bitová hĺbka určuje presnosť merania vstupného signálu. Čím väčšia je kapacita číslic, tým menšia je chyba každého jednotlivého prevodu veľkosti elektrického signálu na číslo a naopak. Ak je bitová šírka 8 (16), potom pri meraní vstupného signálu možno získať 2 8 = 256 (2 16 = 65536) rôznych hodnôt. Jednoznačne 16-bit zvukový adaptér kóduje a reprodukuje zvuk presnejšie ako 8-bitový.

Zvukový súbor- súbor, ktorý uchováva zvukové informácie v číselnej binárnej forme. Informácie vo zvukových súboroch sú zvyčajne komprimované.

Príklady riešených problémov.

Príklad #1.
Určte veľkosť (v bajtoch) digitálneho zvukového súboru, ktorého doba prehrávania je 10 sekúnd pri vzorkovacej frekvencii 22,05 kHz a rozlíšení 8 bitov. Súbor nie je komprimovaný.

Riešenie.
Vzorec na výpočet veľkosti (v bajtoch) digitálneho zvukového súboru (monofonický zvuk): (vzorkovacia frekvencia v Hz) * (čas záznamu v sekundách) * (rozlíšenie v bitoch) / 8.

Súbor sa teda vypočíta takto: 22050 * 10 * 8/8 = 220500 bajtov.

Samoštúdium

#1. Určte veľkosť pamäte na uloženie digitálneho zvukového súboru, ktorého doba prehrávania je dve minúty pri vzorkovacej frekvencii 44,1 kHz a rozlíšení 16 bitov.

#2. Používateľ má k dispozícii pamäť s veľkosťou 2,6 MB. Potrebujete nahrať 1 minútový digitálny zvukový súbor. Aká by mala byť vzorkovacia frekvencia a bitová hĺbka?

č. 3. Voľné miesto na disku je 5,25 MB, zvuková hĺbka dosky je 16. Aká je dĺžka trvania zvuku digitálneho zvukového súboru nahratého so vzorkovacou frekvenciou 22,05 kHz?

č. 4. Jedna minúta digitálneho zvukového súboru zaberie na disku 1,3 MB, bitová hĺbka zvukovej karty je 8. Aká je vzorkovacia frekvencia zaznamenaného zvuku?

č. 5. Dve minúty nahrávania digitálneho zvukového súboru zaberajú na disku 5,1 MB. Vzorkovacia frekvencia je 22 050 Hz. Aká je bitová hĺbka zvukového adaptéra? č. 6. Veľkosť voľnej pamäte na disku je 0,01 GB, bitová hĺbka zvukovej karty je 16. Aká je dĺžka trvania zvuku digitálneho zvukového súboru nahratého so vzorkovacou frekvenciou 44100 Hz?

Prezentácia grafických informácií.

Bitmapová reprezentácia.

Základné pojmy: Počítačová grafika, pixel, raster, rozlíšenie obrazovky, informácie o videu, video pamäť, grafický súbor, bitová hĺbka, stránka videopamäte, farebný kód pixelov, grafické primitívum, grafický súradnicový systém.

Počítačová grafika- časť informatiky, ktorej predmetom je práca na počítači s grafickými obrázkami (obrázky, kresby, fotografie, videorámčeky a pod.).

Pixel- najmenší prvok obrazu na obrazovke (bodka na obrazovke).

Raster- obdĺžniková mriežka pixelov na obrazovke.

Rozlíšenie obrazovky- veľkosť rastrovej mriežky, špecifikovaná ako súčin M * N, kde M je počet bodov horizontálne, N je počet bodov pozdĺž vertikály (počet riadkov).

Informácie o videu- informácia o obraze reprodukovaná na obrazovke počítača, uložená v pamäti počítača.

Video pamäť- pamäť s náhodným prístupom, ktorá ukladá informácie o videu počas jeho prehrávania v obraze na obrazovke.

Grafický súbor- súbor, ktorý uchováva informácie o grafickom obrázku.

Počet farieb reprodukovaných na obrazovke displeja (K) a počet bitov pridelených vo videopamäti pre každý pixel (N) súvisia podľa vzorca: K = 2 N

Množstvo N sa nazýva bitová hĺbka.

Stránka- časť videopamäte obsahujúca informácie o jednom obrázku na obrazovke (jeden "obrázok" na obrazovke). Vo videopamäti môže byť umiestnených niekoľko stránok súčasne.

Všetka rozmanitosť farieb na obrazovke sa získa zmiešaním troch základných farieb: červenej, modrej a zelenej. Každý pixel na obrazovke sa skladá z troch tesne umiestnených prvkov, ktoré žiaria týmito farbami. Farebné displeje využívajúce tento princíp sa nazývajú RGB (Red-Green-Blue) monitory.

kód farby pixelov obsahuje informácie o podiele každej základnej farby.
Ak majú všetky tri zložky rovnakú intenzitu (jas), tak z ich kombinácií možno získať 8 rôznych farieb (2 3). Nasledujúca tabuľka zobrazuje kódovanie 8-farebnej palety pomocou 3-bitového binárneho kódu. V ňom je prítomnosť základnej farby označená jednotkou a neprítomnosť nulou.

Binárny kód


TO Z S Farba
0 0
0
čierna
0 0
1
Modrá
0 1 0 zelená
0 1 1 Modrá
1 0
0
Červená
1 0
1
Ružová
1 1
0
Hnedá
1 1
1
biely

Šestnásťfarebná paleta sa získa pomocou 4-bitového kódovania pixelov: k trom bitom základných farieb sa pridá jeden bit intenzity. Tento bit riadi jas všetkých troch farieb súčasne. Napríklad, ak v 8-farebnej palete kód 100 znamená červenú, potom v 16-farebnej palete: 0100 - červená, 1100 - jasne červená; 0110 - hnedá, 1110 - svetlohnedá (žltá).

Veľký počet farieb sa získa samostatným riadením intenzity základných farieb. Okrem toho intenzita môže mať viac ako dve úrovne, ak je na kódovanie každej zo základných farieb priradených viac ako jeden bit.

Pri použití bitovej hĺbky 8 bitov na pixel je počet farieb 2 8 = 256. Bity tohto kódu sú rozdelené nasledovne: KKKZZSS.

To znamená, že 3 bity sú alokované pre červenú a zelenú zložku a 2 bity pre modrú. Preto má červená a zelená zložka 2 3 = 8 úrovní jasu a modrá - 4 úrovne.

Vektorové znázornenie.

Vo vektorovom prístupe sa obrázok považuje za súbor jednoduchých prvkov: rovné čiary, oblúky, kruhy, elipsy, obdĺžniky, odtiene atď., ktoré sa nazývajú grafické primitívy... Grafická informácia je údaj, ktorý jednoznačne identifikuje všetky grafické primitívy, ktoré tvoria kresbu.

Je zadaná poloha a tvar grafických primitív grafický súradnicový systém súvisiace s obrazovkou. Pôvod sa zvyčajne nachádza v ľavom hornom rohu obrazovky. Mriežka pixelov sa zhoduje s mriežkou súradníc. Horizontálna os X prebieha zľava doprava; vertikálna os Y je zhora nadol.

Úsek priamky je jednoznačne určený špecifikovaním súradníc jej koncov; kružnica - stredové súradnice a polomer; mnohosten - súradnice jeho rohov, vyplnená plocha - s hraničnou čiarou a farbou výplne atď.

Príkaz

Akcia

Riadok na X1, Y1

Nakreslite čiaru z aktuálnej pozície do pozície (X1, Y1).

Riadok X1, Y1, X2, Y2

Nakreslite čiaru so začiatočnými súradnicami X1, Y1 a koncovými súradnicami X2, Y2. Aktuálna poloha nie je nastavená.

Kruh X, Y, R

Nakreslite kružnicu: X, Y - súradnice stredu, R - dĺžka polomeru v krokoch rastrovej mriežky.

Elipsa X1, Y1, X2, Y2

Nakreslite elipsu ohraničenú obdĺžnikom; (X1, Y1) sú súradnice ľavého horného rohu a (X2, Y2) sú súradnice pravého dolného rohu tohto obdĺžnika.

Obdĺžnik X1, Y1, X2, Y2

Nakreslite obdĺžnik; (X1, Y1) sú súradnice ľavého horného rohu a (X2, Y2) sú súradnice pravého dolného rohu tohto obdĺžnika.

Farba laku COLOR

Nastavte aktuálnu farbu kresby.

Farba výplne COLOR

Nastavte aktuálnu farbu výplne.

Maľujte cez X, Y, FARBU ORRANIČIEK

Maľujte cez ľubovoľný uzavretý tvar; X, Y - súradnice ľubovoľného bodu vo vnútri uzavretého tvaru, BORDER COLOR - farba hraničnej čiary.

Príklady riešených problémov.

Príklad #1.
Na vytvorenie farby sa používa 256 odtieňov červenej, 256 odtieňov zelenej a 256 odtieňov modrej. Koľko farieb je v tomto prípade možné zobraziť na obrazovke?

Riešenie:
256*256*256=16777216.

Príklad č.2.
Na obrazovke s rozlíšením 640 * 200 sa zobrazujú iba dvojfarebné obrázky. Aká je minimálna veľkosť video pamäte potrebná na uloženie obrázka?

Riešenie.
Keďže bitová hĺbka dvojfarebného obrázka je 1 a video pamäť musí obsahovať aspoň jednu stránku obrázka, množstvo video pamäte je: 640 * 200 * 1 = 128 000 bitov = 16 000 bajtov.

Príklad č.3.
Koľko video pamäte je potrebné na uloženie štyroch strán obrázka, ak je bitová hĺbka 24 a rozlíšenie displeja je 800 x 600 pixelov?

Riešenie.
Ak chcete uložiť jednu stránku, potrebujete

800 * 600 * 24 = 11 520 000 bitov = 1 440 000 bajtov. Pre 4, respektíve 1 440 000 * 4 = 5 760 000 bajtov.

Príklad č.4.
Bitová hĺbka je 24. Koľko rôznych odtieňov sivej je možné zobraziť na obrazovke?
Poznámka: Odtieň sivej sa získa pri rovnakých hodnotách úrovní jasu všetkých troch komponentov. Ak majú všetky tri zložky maximálnu úroveň jasu, potom je farba biela; neprítomnosť všetkých troch zložiek predstavuje čiernu farbu.

Riešenie.
Keďže zložky RGB sú pre odtiene sivej rovnaké, hĺbka je 24/3 = 8. Dostaneme počet farieb 2 8 = 256.

Príklad č.5.
Vzhľadom na rastrovú mriežku 10 * 10. Opíšte písmeno „K“ sekvenciou vektorových príkazov.

Riešenie:
Vo vektorovej reprezentácii má písmeno "K" tri riadky. Akákoľvek čiara je opísaná uvedením súradníc jej koncov v tvare: ČIARA (X1, Y1, X2, Y2). Obrázok písmena „K“ bude opísaný takto:

RIADOK (4,2,4,8)
RIADOK (5,5,8,2)
RIADOK (5,5,8,8)

Úlohy na samostatnú prácu.

#1. Koľko videopamäte je potrebné na uloženie dvoch strán obrázka za predpokladu, že rozlíšenie displeja je 640 * 350 pixelov a počet použitých farieb je 16?

#2. Veľkosť video pamäte je 1 MB. Rozlíšenie displeja - 800 * 600. Aký je maximálny počet farieb, ktoré možno použiť, ak je video pamäť rozdelená na dve stránky?

č. 3. Bitová hĺbka je 24. Opíšte niekoľko možností binárneho znázornenia odtieňov svetlej a tmavošedej.

č. 4. Na obrazovke počítača musíte získať 1024 odtieňov sivej. Aká by mala byť bitová hĺbka?

č. 5. Pre znázornenie desatinných číslic v štandarde PSČ (ako sa hovorí na obálkach) získajte vektorovú a rastrovú reprezentáciu. Veľkosť rastrovej mriežky si vyberte sami.

č. 6. Reprodukujte kresby na papier pomocou vektorových príkazov. Rozlíšenie 64 * 48.

A)
Farba kresby Červená
Farba výplne Žltá
Obvod 16, 10, 2
Farba nad 16, 10, červená
Súprava 16, 12
Linka na 16, 23
Linka na 19, 29
Linka na 21, 29
Riadok 16, 23, 13, 29
Riadok 13, 29, 11, 29
Riadok 16, 16, 11, 12
Riadok 16, 16, 21, 12

b)
Farba kresby Červená
Farba výplne Červená
Obvod 20, 10, 5
Obvod 20, 10, 10
Farba nad 25, 15, červená
Obvod 20, 30, 5
Obvod 20, 30, 10
Farba nad 28, 32, červená

Téma 9. Digitálna prezentácia obrázkov (2 hodiny).
Mnohé odvetvia techniky súvisiace so získavaním, spracovaním, uchovávaním a prenosom informácií sa do značnej miery riadia vývojom systémov, v ktorých majú informácie obrazový charakter. Obraz, ktorý možno považovať za dvojrozmerný signál, je oveľa priestrannejším nosičom informácie ako bežný jednorozmerný (časový) signál. Riešenie vedeckých a inžinierskych problémov pri práci s vizuálnymi dátami si zároveň vyžaduje osobitné úsilie založené na znalosti špecifických metód, keďže tradičná ideológia jednorozmerných signálov a systémov nie je v týchto prípadoch príliš vhodná. Prejavuje sa to najmä pri vytváraní nových typov informačných systémov, ktoré riešia doteraz vo vede a technike neriešené problémy, ktoré sa teraz riešia využitím informácií vizuálneho charakteru.

V tomto smere sa vo vysokoškolských programoch objavujú odbory zamerané na štúdium princípov spracovania obrazu, pričom prednosť majú digitálne metódy, ktoré sú atraktívne svojou flexibilitou. Nedostatok náučnej literatúry je silnou prekážkou tejto štúdie, ktorá podnietila autorov k napísaniu manuálu. Treba poznamenať, že obmedzený objem neumožnil pokryť mnohé dôležité aspekty problému digitálneho spracovania obrazu. Autori príručky, ktorí si prečítali kurz o digitálnom spracovaní obrazu na BSUIR, vychádzali zo svojich predstáv o význame určitých úsekov a opierali sa aj o dlhoročné výskumné a pedagogické skúsenosti.

^ 9.1. Typy obrázkov

Digitálny obrázok je obdĺžniková tabuľka bodiek alebo prvkov obrázka, ktoré sa v nej nachádzajú T linky a NS stĺpci. Výraz T NS NS volal rozhodnutie obrázok (hoci niekedy sa tento výraz používa na označenie počtu pixelov na jednotku dĺžky obrázka). Obrazové body sa nazývajú pixelov(okrem prípadov, keď sa obraz prenáša faxom alebo videom; v týchto prípadoch sa bod nazýva spev). Na účely kompresie grafických obrázkov je vhodné rozlišovať tieto typy obrázkov:

1. Dvojvrstvový(alebo monochromatický) obrázok. V tomto prípade môžu mať všetky pixely iba dve hodnoty, ktoré sa zvyčajne nazývajú čierna (binárna jedna alebo základná farba) a biela (binárna nula alebo farba pozadia). Každý pixel takéhoto obrázku je reprezentovaný jedným bitom, takže ide o najjednoduchší typ obrázku.

2. Poltón obrázok. Každý pixel takéhoto obrázka môže mať hodnoty od 0 do
označujúci jeden z 2 NS odtiene sivej (alebo inej) farby. číslo NS zvyčajne porovnateľné s veľkosťou bajtu, to znamená, že je to 4, 8, 12, 16, 24 alebo iný násobok 4 alebo 8. Najvýznamnejšie bity všetkých pixelov tvoria najvýznamnejšiu bitovú rovinu alebo vrstvu obrázka . Takže sa skladá obrázok v odtieňoch sivej so stupnicou úrovní NS bitové vrstvy.

3. ^ Farebný obrázok. Existuje niekoľko spôsobov nastavenia farby, ale každý z nich zahŕňa tri parametre. V dôsledku toho sa farebný pixel skladá z troch častí. Farebný pixel sa zvyčajne skladá z troch bajtov. Typické farebné modely sú RGB, HLS a CMYK.

4. Obrázok z v súvislom tóne. Tento typ obrázka môže mať veľa podobných farieb (alebo poltónov). Keď sa susedné pixely líšia iba o jeden, je pre oko takmer nemožné rozlíšiť ich farby. Výsledkom je, že takéto obrázky môžu obsahovať oblasti, v ktorých sa farba zdá oku neustále meniaca. V tomto prípade je pixel reprezentovaný buď veľkým číslom (v prípade odtieňov sivej), alebo tromi zložkami (v prípade farebného obrázka). Obrazy so súvislými tónmi sú prirodzené alebo prirodzené (na rozdiel od umelých, umelých); zvyčajne sa získavajú fotografovaním digitálnym fotoaparátom alebo skenovaním fotografií či kresieb.

5. Diskrétny tón obrázok (nazýva sa aj syntetický). Zvyčajne sa tento obrázok získava umelo. Môže mať len niekoľko farieb alebo veľa farieb, no nemá šum a kazy prirodzeného obrazu. Príkladmi takýchto obrázkov sú fotografie umelých predmetov, strojov alebo mechanizmov, strany textu, mapy, kresby alebo obrázky na obrazovke počítača. (Nie každý umelý obraz bude nutne diskrétno-tónový. Počítačom vytvorený obraz, ktorý by mal pôsobiť prirodzene, bude mať napriek umelému pôvodu súvislé tóny.) Umelé predmety, texty, nakreslené čiary majú tvar, presne určené hranice. Silne kontrastujú so zvyškom obrazu (pozadie). Susedné pixely obrázka s diskrétnymi tónmi sú často jednotlivé alebo sa značne líšia. Takéto obrázky sú nedostatočne komprimované metódami so stratou údajov, pretože skreslenie iba niekoľkých pixelov písmena spôsobuje, že je nečitateľné, transformuje obvyklý štýl na úplne nerozoznateľný. Techniky kompresie pre obrázky so súvislými tónmi nezvládajú ostré hrany obrázkov s diskrétnymi tónmi, pre ktoré by sa mali vyvinúť špeciálne techniky kompresie. Všimnite si, že obrázky s diskrétnym tónom zvyčajne obsahujú veľa redundancií. Mnohé z jeho fragmentov sa mnohokrát opakujú na rôznych miestach obrazu.

6. obrázky, ako karikatúry. Ide o farebné obrázky s veľkými plochami rovnakej farby. V tomto prípade sa kontaktné oblasti môžu značne líšiť vo svojej farbe. Táto vlastnosť môže byť použitá na dosiahnutie lepšej kompresie.

Intuitívne je jasné, že každý typ obrazu má určitú mieru nadbytočnosti, ale všetky sú nadbytočné rôznymi spôsobmi. Preto je ťažké vytvoriť jednu metódu, ktorá by rovnako dobre komprimovala akýkoľvek typ obrázka. Existujú samostatné metódy na kompresiu dvojúrovňových obrázkov, obrázkov so súvislými tónmi a obrázkov s diskrétnymi tónmi. Existujú aj metódy, ktoré sa pokúšajú rozdeliť obrázok na časti so súvislými a diskrétnymi tónmi a komprimovať ich oddelene.
^ 9.2. Vzorkovanie súvislých obrázkov

Veľmi zriedkavo sú obrázky získané v informačných systémoch digitálne. Preto je ich transformácia do tejto podoby povinnou operáciou, ak sa má využívať digitálne spracovanie, prenos, uchovávanie. Rovnako ako pri jednorozmerných signáloch, táto transformácia zahŕňa dva postupy. Prvý spočíva v nahradení súvislého rámu diskrétnym a zvyčajne sa nazýva vzorkovanie, a druhý nahrádza súvislý súbor hodnôt jasu súborom kvantovaných hodnôt a nazýva sa kvantovanie. Pri digitálnom znázornení je každej z kvantovaných hodnôt jasu priradené binárne číslo, ktoré umožňuje vložiť obrázok do počítača.

Dvojrozmerný charakter obrazu v porovnaní s konvenčnými signálmi obsahuje ďalšie možnosti optimalizácie digitálnej reprezentácie s cieľom znížiť množstvo prijímaných digitálnych dát. V tejto súvislosti sa skúmala otázka najlepšieho umiestnenia kvantizačných úrovní, ako aj použitie rôznych rastrov a ďalšie aspekty tohto problému. Treba však povedať, že v drvivej väčšine prípadov sa v praxi používa vzorkovanie na základe použitia pravouhlého rastra a rovnomerné kvantovanie jasu. Je to spôsobené jednoduchosťou vykonávania zodpovedajúcich operácií a relatívne malými výhodami používania optimálnych transformácií. Pri použití pravouhlého rastra vo finálnej podobe je digitálnym obrazom spravidla matica, ktorej riadky a stĺpce zodpovedajú riadkom a stĺpcom obrazu.

Nahradenie súvislého obrazu diskrétnym obrazom možno vykonať rôznymi spôsobmi. Je možné si napríklad zvoliť ľubovoľný systém ortogonálnych funkcií a po vypočítaní koeficientov zobrazenia obrazu podľa tohto systému (podľa tohto základu) nimi nahradiť obraz. Rozmanitosť základov umožňuje vytvárať rôzne diskrétne reprezentácie súvislého obrazu. Najbežnejšie je však periodické vzorkovanie, konkrétne, ako už bolo uvedené vyššie, vzorkovanie s pravouhlým rastrom. Túto metódu vzorkovania možno považovať za jednu z možností využitia ortogonálnej bázy, ktorá ako svoje prvky využíva posunuté β-funkcie. Ďalej, vo všeobecnosti, podrobne zvážime hlavné črty pravouhlého vzorkovania.

Nech je spojitý obraz a príslušný diskrétny obraz získaný zo spojitého obrazom obdĺžnikovým vzorkovaním. To znamená, že vzťah medzi nimi je určený výrazom:

Kde sú vertikálne a horizontálne kroky alebo intervaly vzorkovania. Ryža. 9.1 znázorňuje usporiadanie vzoriek v rovine pre pravouhlé vzorkovanie.

Hlavnou otázkou, ktorá vyvstáva pri výmene súvislého obrazu za diskrétny, je určenie podmienok, za ktorých je takáto výmena úplná, t.j. nie je sprevádzaná stratou informácií obsiahnutých v nepretržitom signáli. Nedochádza k žiadnym stratám, ak je možné pomocou diskrétneho signálu obnoviť spojitý signál. Z matematického hľadiska je teda otázkou obnovenie spojitého signálu v dvojrozmerných intervaloch medzi uzlami, v ktorých sú známe jeho hodnoty, alebo, inými slovami, pri implementácii dvojrozmernej interpolácie. Na túto otázku možno odpovedať analýzou spektrálnych vlastností spojitých a diskrétnych obrazov.

2D spojité frekvenčné spektrum spojitý signál je určený dvojrozmernou priamou Fourierovou transformáciou:

Čo zodpovedá dvojrozmernej inverznej spojitej Fourierovej transformácii:

Posledný vzťah platí pre všetky hodnoty, vrátane uzlov pravouhlej mriežky ... Preto pre hodnoty signálu v uzloch, berúc do úvahy (9.1), vzťah (9.3) možno zapísať v tvare:

Pre stručnosť označujeme pravouhlým rezom v dvojrozmernej frekvenčnej oblasti

Výpočet integrálu v (1.4) v celej frekvenčnej oblasti možno nahradiť integráciou cez jednotlivé úseky a sčítaním výsledkov:

Zmenou premenných podľa pravidla dosiahneme nezávislosť integračného regiónu od čísel a:

Tu sa berie do úvahy, že pre akékoľvek celočíselné hodnoty a. Tento výraz je svojou formou veľmi blízky inverznej Fourierovej transformácii. Jediný rozdiel je v nesprávnom tvare exponenciálneho faktora. Aby sme mu dali požadovaný tvar, zavedieme normalizované frekvencie a podľa toho zmeníme premenné. V dôsledku toho dostaneme:

(9.5)

Teraz má výraz (5) tvar inverznej Fourierovej transformácie, teda funkcie pod znamienkom integrálu

(9.6)

Ide o dvojrozmerné spektrum diskrétneho obrazu. V rovine nenormalizovaných frekvencií má výraz (9.6) tvar:

(9.7)

Z (9.7) vyplýva, že dvojrozmerné spektrum diskrétneho obrazu je pravouhlé periodické s periódami a pozdĺž frekvenčných osí, resp. Spektrum diskrétneho obrazu vzniká ako výsledok súčtu nekonečného počtu spektier spojitého obrazu, ktoré sa navzájom líšia frekvenčnými posunmi a. Obrázok 9.2 kvalitatívne ukazuje vzťah medzi dvojrozmernými spektrami spojitých (obrázok 9.2.a) a diskrétnych (obrázok 9.2.b) obrazov.






a)

b)

Ryža. 9.2. Frekvenčné spektrá spojitých a diskrétnych obrazov

Samotný výsledok sčítania v podstate závisí od hodnôt týchto frekvenčných posunov, alebo inými slovami, od výberu vzorkovacích intervalov. Predpokladajme, že spektrum súvislého obrazu je v nejakej dvojrozmernej oblasti v blízkosti nulovej frekvencie nenulové, teda je popísané dvojrozmernou konečnou funkciou. Ak sú v tomto prípade intervaly odberu vzoriek zvolené tak, aby pri , , potom k prekrývaniu jednotlivých vetiev pri tvorbe súčtu (9.7) nedôjde. Preto sa v rámci každej pravouhlej časti bude od nuly líšiť iba jeden člen. Najmä pre máme:

pri
, . (9.8)

Vo frekvenčnej oblasti sa teda spektrá spojitých a diskrétnych obrazov zhodujú až do konštantného faktora. V tomto prípade spektrum diskrétneho obrazu v tejto frekvenčnej oblasti obsahuje kompletnú informáciu o spektre spojitého obrazu. Zdôrazňujeme, že táto koincidencia prebieha len za stanovených podmienok určených úspešnou voľbou vzorkovacích intervalov. Upozorňujeme, že splnenie týchto podmienok podľa (9.8) sa dosiahne pri dostatočne malých hodnotách intervalov odberu vzoriek, ktoré musia spĺňať požiadavky:

, , (9.9)

Kde sú medzné frekvencie dvojrozmerného spektra.

Vzťah (9.8) definuje metódu na získanie súvislého obrazu z diskrétneho. Na to stačí vykonať dvojrozmernú filtráciu diskrétneho obrazu pomocou dolnopriepustného filtra s frekvenčnou odozvou

Spektrum obrazu na svojom výstupe obsahuje nenulové zložky len vo frekvenčnej oblasti a rovná sa podľa (9.8) spektru súvislého obrazu. To znamená, že obraz na výstupe ideálneho dolnopriepustného filtra je rovnaký ako.

Ideálna interpolačná rekonštrukcia spojitého obrazu sa teda vykonáva pomocou dvojrozmerného filtra s pravouhlou frekvenčnou charakteristikou (9.10). Nie je ťažké explicitne zapísať algoritmus na obnovenie súvislého obrazu. Dvojrozmerná impulzová odozva rekonštrukčného filtra, ktorú možno ľahko získať pomocou inverznej Fourierovej transformácie z (9.10), má tvar:

.

Produkt filtra možno určiť pomocou 2D konvolúcie vstupného obrazu a danej impulznej odozvy. Reprezentáciou vstupného obrazu ako dvojrozmernej sekvencie -funkcií

Po vykonaní konvolúcie zistíme:

(9.11)

Výsledný vzťah naznačuje metódu presnej interpolačnej rekonštrukcie súvislého obrazu zo známej sekvencie jeho dvojrozmerných vzoriek. Podľa tohto výrazu by sa na presnú rekonštrukciu v úlohe interpolačných funkcií mali použiť dvojrozmerné funkcie formulára. Relácia (9.11) je dvojrozmerná verzia Kotelnikovovej-Nyquistovej vety.

Znova zdôraznime, že tieto výsledky sú platné, ak je dvojrozmerné spektrum signálu konečné a intervaly vzorkovania dostatočne malé. Platnosť vyvodených záverov je porušená, ak nie je splnená aspoň jedna z týchto podmienok. Skutočné obrázky majú zriedkavo spektrá s výraznými medznými frekvenciami. Jedným z dôvodov vedúcich k neohraničenosti spektra je obmedzená veľkosť obrazu. Z tohto dôvodu sa pri sčítaní (9.7) v každom z pásiem prejaví pôsobenie členov zo susedných spektrálnych pásiem. V tomto prípade je presná rekonštrukcia súvislého obrazu vo všeobecnosti nemožná. Najmä použitie pravouhlého filtra nevedie k presnej rekonštrukcii.

Znakom optimálnej rekonštrukcie obrazu v intervaloch medzi vzorkami je použitie všetkých vzoriek diskrétneho obrazu, ako to predpisuje postup (9.11). To nie je vždy vhodné; často je potrebné rekonštruovať signál v miestnej oblasti, pričom sa spolieha na malý počet dostupných diskrétnych hodnôt. V týchto prípadoch je vhodné použiť kvázi optimálnu obnovu pomocou rôznych interpolačných funkcií. Tento druh problému vzniká napríklad pri riešení problému prepojenia dvoch obrázkov, keď v dôsledku geometrického nesúladu týchto obrázkov môžu dostupné hodnoty jedného z nich zodpovedať niektorým bodom umiestneným v intervaloch medzi uzlami iné. Riešenie tohto problému je podrobnejšie popísané v nasledujúcich častiach tohto návodu.






a)

b)





v)

G)

Ryža. 9.3. Vplyv intervalu vzorkovania na obnovu obrazu "Odtlačok prsta"

Ryža. 9.3 znázorňuje vplyv vzorkovacích intervalov na rekonštrukciu obrazu. Pôvodný obrázok, ktorý predstavuje odtlačok prsta, je znázornený na obr. 9.3.a, a jeden z úsekov jeho normalizovaného spektra je znázornený na obr. 9.3.b. Tento obrázok je diskrétny a hodnota sa používa ako medzná frekvencia ... Ako vyplýva z obr. 9.3.b je hodnota spektra na tejto frekvencii zanedbatelná, čo zaručuje kvalitnú rekonštrukciu. V skutočnosti, pozorované na obr. 9.3.obrázok je výsledkom obnovy súvislého obrazu a úlohu obnovovacieho filtra zohráva vizualizačné zariadenie - monitor alebo tlačiareň. V tomto zmysle je obraz z obr. 9.3.a možno považovať za nepretržité.

Ryža. 9.3.c, d ukazujú dôsledky nesprávneho výberu intervalov odberu vzoriek. Keď boli získané, „nepretržitá“ diskretizácia obrazu sa uskutočnila na obr. 9.3.а riedením svojich vzoriek. Ryža. 3c zodpovedá zvýšeniu vzorkovacieho kroku pre každú súradnicu o tri a obr. 9.3.d - štyrikrát. To by bolo prijateľné, ak by hodnoty medzných frekvencií boli nižšie o rovnaký počet krát. V skutočnosti, ako je možné vidieť na obr. 9.3.b, došlo k porušeniu požiadaviek (9.9), najmä ak sú vzorky riedené štyrikrát. Obrazy zrekonštruované pomocou algoritmu (9.11) sú teda nielen rozostrené, ale aj silne skresľujú textúru tlače.





a)

b)





v)

G)

Ryža. 9.4. Vplyv intervalu vzorkovania na obnovu snímky „Portrét“.

Na obr. 9.4 ukazuje podobnú sériu výsledkov získaných pre obrázok typu na výšku. Dôsledky silnejšieho preriedenia (štyrikrát na obrázku 9.4.c a šesťkrát na obrázku 9.4.d) sa prejavujú najmä stratou definície. Subjektívne sa straty kvality zdajú byť menej významné ako na obr. 9.3. To je vysvetlené výrazne menšou šírkou spektra ako obrázok odtlačkov prstov. Vzorkovanie pôvodného obrazu zodpovedá medznej frekvencii ... Ako je vidieť z obr. 9.4.b, táto hodnota je oveľa vyššia ako skutočná hodnota. Preto zvýšenie intervalu vzorkovania, znázornené na obr. 3.c, d, hoci to zhoršuje obraz, stále to nevedie k takým ničivým následkom ako v predchádzajúcom príklade.
^ 9.3. Kvantovanie obrázkov

Pri digitálnom spracovaní obrazu je kontinuálny dynamický rozsah hodnôt jasu rozdelený do niekoľkých samostatných úrovní. Tento postup sa nazýva kvantovanie. Kvantizér prevádza spojitú premennú na diskrétnu premennú, ktorá nadobúda konečnú množinu hodnôt. Tieto hodnoty sa nazývajú kvantizačné úrovne. Vo všeobecnosti je transformácia vyjadrená skokovou funkciou (obrázok 9.5). Ak jas referenčného obrázka patrí do intervalu (t. j. kedy ), potom sa pôvodná vzorka nahradí kvantizačnou úrovňou, kde - kvantizačné prahy. Predpokladá sa, že dynamický rozsah hodnôt jasu je obmedzený a rovnaký.


Ryža. 9.5 Funkcia opisujúca kvantizáciu
Úlohou konštrukcie kvantizátora je určiť hodnoty prahov a úrovní. Najjednoduchším spôsobom riešenia tohto problému je rozdelenie dynamického rozsahu na rovnaké intervaly. Nie je to však najlepšie riešenie. Ak sú hodnoty jasu väčšiny vzoriek obrázkov zoskupené napríklad v „tmavej“ oblasti a počet úrovní je obmedzený, potom je vhodné kvantovať nerovnomerne. V "tmavej" oblasti by ste mali kvantovať častejšie a menej často vo "svetlej". Tým sa zníži kvantizačná chyba.

Problém konštrukcie kvantizátora teda možno formulovať ako problém nájdenia optimálnych hodnôt a splnenia určitého optimalizačného kritéria. Zvyčajne sa pre pevný počet úrovní kvantizér optimalizuje podľa kritéria minimálnej strednej štvorcovej chyby

, (9.12)

Za predpokladu, že jas je náhodná premenná so známou hustotou pravdepodobnosti.

Stredná štvorcová kvantizačná chyba (9.12) je

. (9.13)

Diferencovaním (9.13) vzhľadom na premenné a prirovnaním derivácií k nule dostaneme nelineárne rovnice

.

Je potrebné poznamenať, že extrémne prahové hodnoty a sú určené dynamickým rozsahom jasu. Rovnice (9.14) sa dajú jednoducho zredukovať do tvaru

.

Z (9.15) vyplýva, že prahy by mali byť umiestnené v strede medzi dvoma susednými úrovňami a. Riešenie týchto rovníc možno nájsť iteračným spôsobom. Optimálny kvantizér vyhovujúce kritériu (9.12) sa nazýva Lloyd-Max kvantizér a stredná kvadratická chyba pre takýto kvantizér je

(9.16)

Pri rovnomernom rozložení jasu možno nelineárne rovnice (9.15) znázorniť ako

,

A stredná kvadratická chyba je
.

V systémoch digitálneho spracovania obrazu majú tendenciu znižovať počet úrovní a kvantizačných prahov, pretože dĺžka binárneho kódového slova, ktoré predstavuje kvantované vzorky v počítači, závisí od ich počtu. Pri relatívne malom počte úrovní sa však na kvantovanom obrázku objavujú falošné kontúry. Vznikajú v dôsledku prudkej zmeny jasu kvantovaného obrazu (obr. 9.6) a sú badateľné najmä v jemných oblastiach jeho zmeny.

Falošné obrysy výrazne zhoršujú vizuálnu kvalitu obrazu. ľudské videnie je obzvlášť citlivé na kontúry. Pri jednotnej kvantizácii vyžadujú typické obrázky aspoň 64 úrovní. Na obr. 9.7 .a a 9.7.b znázorňujú výsledky rovnomernej kvantizácie obrazu "Portrét" pri 256 a 14 kvantizačných úrovniach.

Ryža. 9.6. K mechanizmu vzniku falošných kontúr

V tmavých oblastiach obrazu sú viditeľné falošné obrysy. Použitím kvantizéra Lloyd-Max je možné výrazne znížiť ich úroveň (obr. 9.8, kde je aj počet úrovní kvantovania 14). Na obr. 9.9 ukazuje histogram jasu obrazu "Portrét" pri 256 kvantizačných úrovniach a označené prahové hodnoty. Z obrázku vyplýva, že tie oblasti dynamického rozsahu, v ktorých sú zoskupené hodnoty jasu vzoriek, sú častejšie kvantované.

Aby sa predišlo nerovnomernému kvantovaniu, ktoré nie je možné vykonať pomocou štandardného ADC, používajú sa nelineárne prevody (obrázok 9.10). Vzorka pôvodného obrazu je podrobená nelineárnej transformácii tak, aby hustota rozdelenia pravdepodobnosti transformovaných vzoriek bola rovnomerná, t.j. Vykonáva sa EQ. Potom sa vzorky kvantujú s jednotným krokom a podrobia sa inverznej nelineárnej transformácii.



Obrázok 9.10. Kvantovanie s predbežnou nelineárnou transformáciou
Aby sa zničili falošné obrysy, Roberts navrhol pridať šum s jednotnou hustotou pravdepodobnosti do vzoriek jasu pred jednotnou kvantizáciou. Pridaný šum posúva niektoré vzorky obrazu o jednu úroveň vyššie a iné o úroveň nižšie. Tým sa zničia falošné kontúry. Rozptyl pridaného šumu by mal byť malý, aby neviedol k deformáciám vnímaným ako „sneh“ v obraze a zároveň dostatočný na zničenie falošných kontúr. Zvyčajne sa na intervale používa rovnomerne rozložený šum ... Výsledky rovnomernej kvantizácie na 14 a 8 úrovniach obrazu "Portrét" s predbežným pridaním šumu sú znázornené na obr. 9.11.a a 9.11.b. Pri 8 úrovniach kvantizácie sa pridaný šum stáva príliš viditeľným, avšak falošné obrysy sú takmer úplne zničené.

Iná kvantizačná metóda sa používa v polygrafickom priemysle. Ide o metódu generovania rastrových binárnych (2-úrovňových) obrázkov z obrázkov v odtieňoch šedej. Pri tlači (napríklad novín alebo časopisov) je obraz tvorený bielymi a čiernymi bodkami. Za týmto účelom je celý pôvodný obrázok rozdelený priestorovými súradnicami na identické štvorcové bloky. Blok zvyčajne obsahuje prvky. Ku každej vzorke bloku sa pridá číslo s príslušnými súradnicami z matice rušivého signálu, ktorého rozmery sa rovnajú rozmerom bloku. Napríklad čísla sa používajú ako matica rušivého signálu:

.

Táto operácia sa opakuje pre všetky bloky. Výsledný obraz je kvantovaný do dvoch úrovní. Na obr. 9.12.а zobrazuje obrázok v odtieňoch sivej „Portrét“ s pridaným rušivým signálom. Na obr. 9.12.b, c sú zobrazené výsledky binárnej kvantizácie obrazu "Portrét" s pridaným rušivým signálom (obr.9.13.b) a bez neho (obr.9.13.c).






b)

v)

Obrázok 9.12 Rastrovanie obrázkov

Binárna bitmapa poskytuje výrazne lepší vizuálny zážitok ako bežný binárny obrázok. Prenos šedej škály pri rastrovaní je dosiahnutý v dôsledku zmeny geometrických rozmerov bielej škvrny pozorovanej na čiernom pozadí. Ak sú „svetlé“ vzorky zoskupené do bloku, potom sú geometrické rozmery bieleho bodu maximálne a rovnajú sa veľkosti bloku. S poklesom jasu sa zmenšujú aj jeho geometrické rozmery. Ľudské oko vykonáva lokálne spriemerovanie, čím vytvára ilúziu zobrazenia obrazu v odtieňoch sivej. Screening je obzvlášť účinný pri tlači obrázkov s vysokým rozlíšením, kde je jeden bod sotva viditeľný okom.

^ 9.4 Príprava snímky

Pitva je celá trieda transformácií obrazov element po elemente. Charakteristiky postupov prípravy používaných v praxi sú znázornené na obrázku 9.13. Zastavme sa pri opise niektorých z nich.

Transformácia s prahovou charakteristikou (obr.9.13.a) premení obrázok v odtieňoch šedej obsahujúci všetky úrovne jasu na binárne, bodky

Ktoré majú jas resp. Takáto operácia, niekedy nazývaná binarizácia alebo binárna kvantizácia, môže byť užitočná, keď sú pre pozorovateľa dôležité obrysy objektov prítomných na obrázku.

A detaily obsiahnuté v objektoch alebo v pozadí nie sú zaujímavé. Hlavným problémom pri vykonávaní takéhoto spracovania je určiť prah, porovnanie, s ktorým jas pôvodného obrazu umožňuje určiť hodnotu výstupného obrazu v každom bode. Najviac opodstatnené pre matematický popis obrazu je aplikácia teórie pravdepodobnosti, náhodných procesov a náhodných polí. V tomto prípade je určenie optimálneho prahu pre binárne kvantovanie štatistickým problémom. Značná pozornosť je v nasledujúcich častiach venovaná štatistickému prístupu k spracovaniu obrazu, a to aj pri riešení problému rozdelenia obrazových bodov do dvoch tried takzvanej binárnej segmentácie. Tu sa obmedzíme na diskusiu o konkrétnom, ale prakticky dôležitom prípade. Niekedy je potrebné pri spracovaní pracovať s obrázkami uloženými v odtieňoch šedej, ktoré sa však svojim obsahom od binárnych odlišujú len málo.








a)

b)

v)







G)

e)

e)







g)

h)

a)



do)

Ryža. 9.13 Príklady transformácií použitých počas prípravy



Ryža. 9.14. K voľbe binárneho kvantizačného prahu

Patria sem text, perokresby, kresby, obrázok odtlačkov prstov, ktorých príklad je znázornený na obrázku 9.15.a. Hustota pravdepodobnosti popisujúca rozloženie jasu takéhoto obrazu môže obsahovať dva dobre oddelené vrcholy. Je intuitívne jasné, že binárny kvantizačný prah by sa mal zvoliť v strede poklesu medzi týmito vrcholmi, ako je znázornené na obrázku 9.14. Nahradenie pôvodného poltónového obrázka binárny liek rieši dve hlavné úlohy. Po prvé, vizuálnym vnímaním sa dosiahne väčšia jasnosť ako pôvodný obrázok. Po druhé, množstvo pamäte na uloženie obrazu je výrazne znížené, pretože binárna príprava na záznam každého bodu binárneho obrazu vyžaduje iba 1 bit pamäte, zatiaľ čo obraz v odtieňoch šedej na vyriešenie rovnakého problému s najbežnejšie používaným formátom zobrazenia vyžaduje 8 bitov. Príklad binarizácie obrázka odtlačku prsta je znázornený na obrázku 9.15.b.

Význam ďalších transformácií znázornených na obr. 9.13, nie je ťažké pochopiť ich charakteristiku. Napríklad transformujte obr. 9.13.b vykoná ostrý výrez obrazu, pričom zvýrazní tie jeho časti, kde jas zodpovedá zvolenému intervalu. V tomto prípade sú ostatné oblasti úplne „zatemnené“ (majú jas zodpovedajúci úrovni čiernej). Posúvaním zvoleného intervalu po stupnici jasu a zmenou jeho šírky môžete podrobne preskúmať obsah obrázka.






Obrázok 9.15. Príklad binarizácie obrazu

Transformácia znázornená na obr. 9.13.g vám tiež umožňuje zväčšiť detaily pozorovaného obrazu vo zvolenom rozsahu jasu, avšak na rozdiel od predchádzajúceho tu výstupný obraz využíva plný dynamický rozsah. Táto transformácia je v podstate lineárnym kontrastom vybraný rozsah vstupný obrázok. Rovnako ako v predchádzajúcej verzii, oblasti mimo tohto rozsahu tvoria po príprave čierne pozadie.

Niekedy sa jasnosť obrazu zvýši použitím transformácie, ako je napríklad pílovitý kontrast. V tomto prípade sú rôzne rozsahy jasu súčasne vystavené lokálnemu kontrastu jasu. Treba však mať na pamäti, že táto premena, podobne ako niektoré iné, môže byť sprevádzaná objavením sa falošných kontúr na výslednom prípravku.

Podobne môžete kvalitatívne zvážiť zvyšok postupov prípravy znázornených na obrázku 9.13.

Na obr. Na obr. 9.16 sú uvedené výsledky experimentu, v ktorom boli na leteckú fotografiu pozemku (obr. 9.16.a) aplikované transformácie typu prahovania (obr. 9.16.b) a pílového kontrastu (obr. 9.16.c). . Prvá vedie k identifikácii hraníc jednotlivých oblastí, čím vzniká všeobecná ucelená predstava o sledovanej scéne. Druhý, naopak, umožňuje pozorovať malé detaily vo všetkých oblastiach obrazu. Pre pozorovateľa môže byť užitočná kombinácia týchto dvoch možností.






a)

b)



v)

Ryža. 9.16. Príklady prípravy obrazu

Na záver poznamenávame, že prípravok sa často používa v automatických systémoch na spracovanie vizuálnych informácií, keďže prípravok pripravený v tomto prípade môže obsahovať všetky informácie potrebné pre následné (sekundárne) spracovanie. Ak sa napríklad pri pozorovaní z vesmíru vyžaduje automatická detekcia objektu so známou konfiguráciou v obraze, potom na to môže stačiť binárny prípravok prenášajúci túto konfiguráciu.

Digitálna fotografia alebo iný rastrový obrázok je pole čísel zachytených snímačmi úrovne jasu v dvojrozmernej rovine. S vedomím, že z matematického hľadiska tenká šošovka vykonáva Fourierovu transformáciu obrazov umiestnených v ohniskových rovinách, je možné vytvoriť algoritmy spracovania obrazu, ktoré sú analogické so spracovaním obrazu v klasickom optickom systéme.

Vzorec pre takéto algoritmy bude vyzerať takto:

  1. Z = FFT (X) - Priama 2D Fourierova transformácia
  2. Z ′ = T (Z) - aplikácia funkcie alebo priehľadnosti na Fourierovu transformáciu obrazu
  3. Y = BFT (Z ′) - inverzná 2D Fourierova transformácia
Algoritmy rýchlej diskrétnej Fourierovej transformácie sa používajú na výpočet Fourierových transformácií. Hoci systém optických šošoviek vykonáva Fourierovu transformáciu na spojitom rozsahu argumentu a pre spojité spektrum, pri prechode na digitálne spracovanie údajov môžu byť vzorce Fourierovej transformácie nahradené vzorcami diskrétnej Fourierovej transformácie.

Príklady implementácie

  • Algoritmus rozostrenia obrazu
Implementované algoritmy sú súčasťou open source knižnice FFTTools. Internetová adresa: github.com/dprotopopov/FFTTools

Algoritmus rozostrenia obrazu

V optických systémoch je clona s ohniskovou rovinou jednoduchým otvorom v obrazovke. V dôsledku prechodu svetelného toku cez clonu prechádzajú vysokofrekvenčné vlny (s kratšími vlnovými dĺžkami) cez prekážku a nízkofrekvenčné vlny (s dlhšími vlnovými dĺžkami) sú clonou odrezané. Tým sa zvýši ostrosť výsledného obrazu. Ak dieru v obrazovke nahradíte prekážkou v obrazovke, výsledkom bude rozmazaný obraz, pretože sa vytvorí z frekvencií dlhých vlnových dĺžok.

Algoritmus:

  1. Vypočítajte pole Z ′ = T (Z), kde T je vynulovanie riadkov a stĺpcov nachádzajúcich sa v daných vnútorných oblastiach maticového argumentu zodpovedajúcich vysokým 5. frekvenciám (t. j. vynulovaniu Fourierových expanzných koeficientov zodpovedajúcich vysokým frekvencie)

Algoritmus na zaostrenie obrazu

V optických systémoch je clona s ohniskovou rovinou jednoduchým otvorom v obrazovke. V dôsledku prechodu svetelného toku cez clonu prechádzajú vysokofrekvenčné vlny (s kratšími vlnovými dĺžkami) cez prekážku a nízkofrekvenčné vlny (s dlhšími vlnovými dĺžkami) sú clonou odrezané. Tým sa zvýši ostrosť výsledného obrazu.

Algoritmus:

  1. Nech X (N1, N2) je pole jasu obrazových pixelov.
  2. Vypočítajte Px = priemerný (RMS) jas pixelov v poli X
  3. Vypočítať pole Z = FT (X) - Priama 2D diskrétna Fourierova transformácia
  4. Ponechajte hodnotu L = Z (0,0) - zodpovedajúcu priemernému jasu pixelov pôvodného obrázku
  5. Vypočítajte pole Z ′ = T (Z), kde T je vynulovanie riadkov a stĺpcov nachádzajúcich sa v daných vonkajších oblastiach matice argumentov zodpovedajúcich nízkym frekvenciám 6. (t. j. vynulovanie koeficientov Fourierovej expanzie zodpovedajúcich nízkym frekvenciám)
  6. Obnovte hodnotu Z '(0,0) = L - zodpovedajúcu priemernému jasu pixelov pôvodného obrázka
  7. Vypočítať pole Y = RFT (Z ′) – Inverzná 2D diskrétna Fourierova transformácia
  8. Vypočítajte Py = stredný (efektívny) jas pixelov v poli Y
  9. Normalizujte pole Y (N1, N2) na priemerný jas Px / Py

Algoritmus zmeny mierky obrazu

V optických systémoch je svetelný tok v ohniskovej rovine systému Fourierovou transformáciou pôvodného obrazu. Veľkosť obrazu získaného na výstupe optického systému je určená pomerom ohniskových vzdialeností objektívu a okuláru.

Algoritmus:

  1. Nech X (N1, N2) je pole jasu obrazových pixelov.
  2. Vypočítajte Px = priemerný (RMS) jas pixelov v poli X
  3. Vypočítať pole Z = FT (X) - Priama 2D diskrétna Fourierova transformácia
  4. Vypočítajte pole Z ′ = T (Z), kde T je buď pridanie nula riadkov a stĺpcov matice zodpovedajúcich vysokým frekvenciám, alebo odstránenie riadkov a stĺpcov matice zodpovedajúcich vysokým frekvenciám, aby sa získala požadovaná veľkosť výsledného obrázka.
  5. Vypočítať pole Y = RFT (Z ′) – Inverzná 2D diskrétna Fourierova transformácia
  6. Vypočítajte Py = stredný (efektívny) jas pixelov v poli Y
  7. Normalizujte pole Y (M1, M2) na priemerný jas Px / Py
Použitý softvér
  • Microsoft Visual Studio 2013 C # - programovacie prostredie a jazyk
  • EmguCV / OpenCV - C ++ knižnica štruktúr a algoritmov na spracovanie obrazu
  • FFTWSharp / FFTW - knižnica C ++ implementujúca rýchle diskrétne algoritmy Fourierovej transformácie

Algoritmus rozostrenia obrazu

Kód algoritmu

///

/// Vymazať vnútornú oblasť poľa /// /// Pole hodnôt /// Veľkosť oblasti vnútornej slepej private static void Blind (Komplexné [,] údaje, Veľkosť veľkosti) (int n0 = data.GetLength (0); int n1 = data.GetLength (1); int n2 = data.GetLength (2); int s0 = Math. Max (0, (n0 - veľkosť.Výška) / 2); int s1 = Math.Max ​​​​(0, (n1 - veľkosť.Šírka) / 2); int e0 = Math.Min ((n0 + veľkosť.Výška ) / 2, n0); int e1 = Math.Min ((n1 + veľkosť.Šírka) / 2, n1); for (int i = s0; i< e0; i++) { Array.Clear(data, i*n1*n2, n1*n2); } for (int i = 0; i < s0; i++) { Array.Clear(data, i*n1*n2 + s1*n2, (e1 - s1)*n2); } for (int i = e0; i < n0; i++) { Array.Clear(data, i*n1*n2 + s1*n2, (e1 - s1)*n2); } } /// /// Rozostrenie bitmapy pomocou najrýchlejšej Fourierovej transformácie /// /// Rozmazaná bitmapa public Bitmap Blur (bitmap bitmap) (pomocou (var image = new Image (bitmapa)) (int length = image.Data.Length; int n0 = image.Data.GetLength (0); int n1 = image.Data.GetLength (1); int n2 = image.Data.GetLength (2); var double = new double; Buffer.BlockCopy (image.Data, 0, doubles, 0, length * sizeof (double)); double power = Math.Sqrt (doubles.Average (x => x * x)); var input = new fftw_complexarray (doubles.Select (x => new Complex (x, 0)). ToArray ()); var output = new fftw_complexarray (dĺžka); fftw_plan.dft_3d (n0, n1, n2, vstup, výstup, fftw_direction. Forward, fftw_flags.Estimate) .Execute (); Complex complex = output.GetData_Complex (); var data = new Complex; var buffer = new double; GCHandle complexHandle = GCHandle.Alloc (komplex, GCHandleType.Pinned); GCHandle dataHandle = GCHandle .Alloc (data, GCHandleType.Pinned); IntPtr complexPtr = complexHandle.AddrOfPinnedObject (); IntPtr dataPtr = dataHandle.AddrOfPinnedObject (); Marshal.Copy (complexPtr, buffer, 0; buffer.Length) , dataLengPtr, buffer. Slepý (údaje, _slepý erSize); Marshal.Copy (dataPtr, buffer, 0, buffer.Length); Marshal.Copy (buffer, 0, complexPtr, buffer.Length); complexHandle.Free (); dataHandle.Free (); input.SetData (komplexné); fftw_plan.dft_3d (n0, n1, n2, vstup, vystup, fftw_direction.Backward, fftw_flags.Estimate) .Execute (); double array2 = output.GetData_Complex (). Select (x => x.Magnitude) .ToArray (); dvojitá mocnina2 = Math.Sqrt (pole2.Priemer (x => x * x)); doubles = pole2.Vyberte (x =>

Algoritmus na zaostrenie obrazu

Kód algoritmu

///

/// Vymazať externú oblasť poľa /// /// Pole hodnôt /// Veľkosť vonkajšej slepej oblasti private static void Blind (Komplexné [,] údaje, Veľkosť veľkosti) (int n0 = data.GetLength (0); int n1 = data.GetLength (1); int n2 = data.GetLength (2); int s0 = Math. Max (0, (n0 - veľkosť.Výška) / 2); int s1 = Math.Max ​​​​(0, (n1 - veľkosť.Šírka) / 2); int e0 = Math.Min ((n0 + veľkosť.Výška ) / 2, n0); int e1 = Math.Min ((n1 + veľkosť.Šírka) / 2, n1); for (int i = 0; i< s0; i++) { Array.Clear(data, i*n1*n2, s1*n2); Array.Clear(data, i*n1*n2 + e1*n2, (n1 - e1)*n2); } for (int i = e0; i < n0; i++) { Array.Clear(data, i*n1*n2, s1*n2); Array.Clear(data, i*n1*n2 + e1*n2, (n1 - e1)*n2); } } /// /// Ostrá bitmapa s najrýchlejšou Fourierovou transformáciou /// /// Ostrá bitmapa public Bitmap Sharp (bitmapa bitmap) (pomocou (var image = new Image (bitmapa)) (int length = image.Data.Length; int n0 = image.Data.GetLength (0); int n1 = image.Data.GetLength (1); int n2 = image.Data.GetLength (2); var double = new double; Buffer.BlockCopy (image.Data, 0, doubles, 0, length * sizeof (double)); double power = Math.Sqrt (doubles.Average (x => x * x)); var input = new fftw_complexarray (doubles.Select (x => new Complex (x, 0)). ToArray ()); var output = new fftw_complexarray (dĺžka); fftw_plan.dft_3d (n0, n1, n2, vstup, výstup, fftw_direction. Forward, fftw_flags.Estimate) .Execute (); Komplexný komplex = výstup.GetData_Complex (); Komplexná úroveň = komplex; dáta var = nový komplex; var buffer = new double; GCHandle complexHandle = GCHandle.Alloc (komplex, GCHandleType.Pinned) ; GCHandle dataHandle = GCHandle.Alloc (údaje, GCHandleType.Pinned); IntPtr complexPtr = complexHandle.AddrOfPinnedObject (); IntPtr dataPtr = dataHandle.AddrOfPinnedObject (); Marsthal. buffer.Marshal. Copy, dataPtr. buffer, buffer, dataPtr. ngth); Blind (data, _blinderSize); Marshal.Copy (dataPtr, buffer, 0, buffer.Length); Marshal.Copy (buffer, 0, complexPtr, buffer.Length); complexHandle.Free (); dataHandle.Free (); komplex = úroveň; input.SetData (komplexné); fftw_plan.dft_3d (n0, n1, n2, vstup, vystup, fftw_direction.Backward, fftw_flags.Estimate) .Execute (); double array2 = output.GetData_Complex (). Select (x => x.Magnitude) .ToArray (); dvojitá mocnina2 = Math.Sqrt (pole2.Priemer (x => x * x)); doubles = array2.Select (x => x * power / power2) .ToArray (); Buffer.BlockCopy (doubles, 0, image.Data, 0, length * sizeof (double)); návratový obrázok.Bitmapa; ))

Algoritmus zmeny mierky obrazu

Kód algoritmu

///

/// Kopírovať polia /// /// Vstupné pole /// Výstupné pole private static void Kopírovať (komplexný [,] vstup, komplexný [,] výstup) (int n0 = input.GetLength (0); int n1 = input.GetLength (1); int n2 = input.GetLength (2); int m0 = output.GetLength (0); int m1 = output.GetLength (1); int m2 = output.GetLength (2); int ex0 = Math.Min (n0, m0) / 2; int ex1 = Math.Min (n1 , m1) / 2; int ex2 = Math.Min (n2, m2); Debug.Assert (n2 == m2); for (int k = 0; k< ex2; k++) { for (int i = 0; i <= ex0; i++) { for (int j = 0; j <= ex1; j++) { int ni = n0 - i - 1; int nj = n1 - j - 1; int mi = m0 - i - 1; int mj = m1 - j - 1; output = input; output = input; output = input; output = input; } } } } /// /// Zmena veľkosti bitovej mapy pomocou najrýchlejšej Fourierovej transformácie /// /// Bitová mapa so zmenenou veľkosťou public Bitmap Stretch (bitmapa bitmap) (pomocou (var image = nový obrázok (bitmapa)) (int length = image.Data.Length; int n0 = image.Data.GetLength (0); int n1 = image.Data.GetLength (1); int n2 = image.Data.GetLength (2); var double = new double; Buffer.BlockCopy (image.Data, 0, doubles, 0, length * sizeof (double)); double power = Math.Sqrt (doubles.Average (x => x * x)); var input = new fftw_complexarray (doubles.Select (x => new Complex (x, 0)). ToArray ()); var output = new fftw_complexarray (dĺžka); fftw_plan.dft_3d (n0, n1, n2, vstup, výstup, fftw_direction. Forward, fftw_flags.Estimate) .Execute (); Komplexný komplex = výstup.GetData_Complex (); pomocou (var image2 = nový obrázok (_newSize)) (int length2 = image2.Data.Length; int m0 ​​​​= image2.Data.GetLength (0); int m1 = image2.Data.GetLength (1); int m2 = image2.Data.GetLength (2 ); var complex2 = nový komplex; var data = nový komplex; var data2 = nový komplex; var buffer = new double; GCHandle complexHandle = GCHandle.Alloc (komplex, GCHandleType.Pinned); GCHandle dataHandle = GCHandle.Alloc (dáta, GCHandleType .Pripnuté ); IntPtr complexPtr = complexHandle.AddrOfPinnedObject (); IntPtr dataPtr = dataHandle.AddrOfPinnedObject (); Marshal.Copy (complexPtr, buffer, 0, buffer.Length); Marshal.Copy (buffer, 0, dataLength); .Free (); dataHandle.Free (); Copy (data, data2); buffer = new double; complexHandle = GCHandle.Alloc (complex2, GCHandleType.Pinned); dataHandle = GCHandle.Alloc (data2, GCHandleType.Pinned); complexPtr = complexHandle.AddrOfPinnedObject (); dataPtr = dataHandle.AddrOfPinnedObject (); Marshal.Copy (dataPtr, buffer, 0, buffer.Length); Marshal.Copy (buffer, 0, complexPtr, buffer.Length); complexHandle.Free (); dataHandle.Free (); var input2 = new fftw_complexarray (complex2); var output2 = new fftw_complexarray (length2); fftw_plan.dft_3d (m0, m1, m2, vstup2, vystup2, fftw_direction.Backward, fftw_flags.Estimate) .Execute (); double array2 = output2.GetData_Complex (). Select (x => x.Magnitude) .ToArray (); dvojitá mocnina2 = Math.Sqrt (pole2.Priemer (x => x * x)); double doubles2 = pole2.Select (x => x * power / power2) .ToArray (); Buffer.BlockCopy (doubles2, 0, image2.Data, 0, length2 * sizeof (double)); return image2.Bitmap; )))