Alapvető képfeldolgozási algoritmusok. Kép-előfeldolgozási algoritmusok Kép-előfeldolgozás

A digitális zaj olyan képhiba, amely véletlenszerűen elhelyezkedő területeken található, amelyek közel egy pixel méretűek, és fényességükben vagy színükben különböznek az eredeti képtől. A zajcsökkentés fontos szerepet játszik a videoszekvenciák és képek továbbításában, feldolgozásában és tömörítésében.

A videózaj több okból is előfordulhat:

1. Hiányos videorögzítő berendezés.

2. Rossz fényképezési körülmények – például éjszakai fényképezés/videó készítés, fényképezés rossz időben.

3. Zavar az analóg csatornákon történő átvitel során - elektromágneses mezők forrásaiból származó interferencia, az átviteli vonal aktív alkatrészeinek (erősítőinek) belső zaja. Ilyen például a televíziós jel.

4. Pontatlanságok szűrése a fénysűrűség és színkülönbség jelek analóg kompozit jelből történő kinyerésekor stb.

A képen a zaj mértéke a jó fény mellett készült digitális fénykép szinte észrevehetetlen foltjától a csillagászati ​​fényképekig terjedhet, amelyeken a zaj eltakarja a csak fáradságos képfeldolgozással megszerezhető hasznos információk nagy részét.

A zaj különböző típusú lehet, attól függően, hogy a képen a zaj véletlenszerű eloszlása ​​milyen jellegű. A gyakorlatban a leggyakoribb típusok a következők:

Fehér Gauss-zaj

Az egyik leggyakoribb zaj az additív Gauss-zaj, amelyet az jellemez, hogy a kép minden pixeléhez adnak hozzá normális eloszlású értékeket és nulla átlagot. Az "additív" kifejezés azt jelenti, hogy az ilyen típusú zaj hozzáadódik a hasznos jelhez. Akkor fordul elő, ha a jel vételi feltételei rosszak.

digitális zaj

A digitális zaj oka leggyakrabban a fényképezéshez használt berendezés jellemzőihez kapcsolódik - általában a mátrix elégtelen fényérzékenységéhez. Ezt a típusú zajt az jellemzi, hogy a kép egyes képpontjait rögzített vagy véletlenszerű változó értékeivel helyettesítik. Ha a pontok fényereje megközelítőleg egyenlő, a digitális zajt "impulzív"-nak is nevezik. Ha a pontok intenzitása feketéről fehérre változhat, ezt a zajt só-bors zajnak nevezzük.

Az ilyen típusú zaj általában csak a képen lévő pixelek kis számát érinti.

Kombinált zaj

Sokkal ritkábban vannak olyan esetek, amikor az azonos térfogatú kép Gauss-zajjal és véletlenszerű impulzusokkal zajos. Ezt a készletet kombinált zajnak nevezik.

Képbeolvasási hibák

Idegen hatások, például repedések, karcolások, zúzódások is megjelenhetnek a képen. Ezek a műtárgyak nem homogén szerkezetűek, alakjuk és elhelyezkedésük meghatározása alapvetően meghaladja a matematikai elemzést. Az ilyen jellegű hibákat csak kézi képfeldolgozással lehet kiküszöbölni, ezért jelen cikkben nem foglalkozunk velük.

Zajeltávolító algoritmusok

A képek zajának eltávolítására számos algoritmus létezik, amelyeket nem csak speciális feldolgozó programok, hanem egyes fotó- és videokamerák is használhatnak. Ennek ellenére még mindig nincs univerzális szűrési algoritmus, hiszen a kép feldolgozása során mindig választani kell a nem kívánt hatások kiküszöbölésének mértéke és a zajhoz hasonló tulajdonságokkal rendelkező apró részletek megőrzése között. Ezenkívül egy olyan algoritmus, amely könnyen megbirkózik egyfajta zajjal, csak egy másik típusú zajjal tudja elrontani a képet.

Nézzünk meg néhányat a legismertebb képzajcsökkentő algoritmusok közül.

Lineáris pixel átlagolás

A zaj eltávolításának legegyszerűbb ötlete a pixelértékek átlagolása a térbeli szomszédságban. Mivel a zaj pixelenként egymástól függetlenül változik, a szomszédos pixelek zaja kioltja egymást az összegzéskor. Egy téglalap alakú ablak van beállítva, amely felváltva a kép minden pixelére kerül. A központi pixel értékét az ablakterületen belüli összes szomszédos pixel elemzése alapján számítjuk ki. Ennek megfelelően minél nagyobb a felvett ablak, annál több átlagértéket kapunk végül, ami erős elmosódási hatáshoz vezet.

A legegyszerűbb változatban a szomszédos pixelek elemzése a számtani átlaguk megtalálása. A nem ugyanahhoz a területhez tartozó pixelek hatásának csökkentése érdekében (például sötét körvonal világos háttéren), bevezethet egy bizonyos numerikus küszöböt, és csak azokat a szomszédokat veszi figyelembe, amelyek a központi pixel nem lépi túl ezt a küszöböt. Minél nagyobb a küszöbérték, annál erősebb lesz az átlagolás. A vizsgált változatot bonyolíthatja, ha minden szomszédos pixelhez súlyegyütthatókat vezetünk be, attól függően, hogy milyen távolságban vannak a vizsgált terület középpontjától.

Ez a módszer az időtartományban is alkalmazható úgy, hogy a videofolyam szomszédos képkockáihoz tartozó egyes pixeleket átlagoljuk (minden pixel átlagolása a szomszédos képkockákban ugyanazon a helyen található pixelek alapján történik).

Ez az algoritmus nagyon egyszerű, de nem ad jó eredményt, ugyanakkor a kép részleteinek erős elmosódásához vezet.

Gauss-szűrő

Az előző módszerhez hasonló működési elve van, és az élsimító szűrők számához is tartozik. A lineáris átlagoló szűrővel történő zajcsökkentésnek azonban van egy jelentős hátránya: a feldolgozott pixel minden szomszédja ugyanolyan hatással van az eredményre, függetlenül attól, hogy milyen távolságban vannak tőle. A Gauss-szűrő a központi pixelt és szomszédait is átlagolja egy adott területen, csak ez egy bizonyos törvény szerint történik, amit a Gauss-függvény állít be.

Ahol az y paraméter az elmosódás mértékét adja meg, az A paraméter pedig a normalizálást. Ennek eredményeként a vizsgált terület központi pixelének lesz a legmagasabb értéke, amely megfelel a Gauss-eloszlás csúcsának. A többi elem értékének egyre kevésbé lesz hatása, ahogy távolodsz a középponttól.

A megadott képlettel számított mátrixszűrőt Gauss-szűrőnek nevezzük; minél nagyobb a mérete, annál erősebb az elmosódás (rögzített y esetén). Mivel ez a szűrő elválasztható, a következőképpen ábrázolható:

Ebből következik, hogy a konvolúció sorokban és oszlopokban szekvenciálisan végrehajtható, ami nagy szűrőméretek esetén a módszer jelentős felgyorsulásához vezet.

2Dcleaner algoritmus

A kép minden egyes képpontját lecseréli a szomszédos pixelek átlagos értékére, bizonyos sugárral határolt területen. Ebben az esetben nem minden olyan pontot veszünk figyelembe, amelyek a sugáron belülre esnek, hanem csak azokat, amelyek értéke legfeljebb valamilyen előre meghatározott értékkel (küszöbértékkel) tér el a központi pixeltől. Emiatt az egyenletes színű területek jobban elmosódnak, mint a tárgyak éles szélei. Ez csökkenti a kép alacsony szintű zaját, miközben a finom részleteket érintetlenül hagyja.

Medián szűrés

A lineáris algoritmusok nagyon hatékonynak bizonyulnak a Gauss-zaj elnyomásában, amikor a szomszédos pixelek, bár van némi véletlenszerű eloszlásuk, mégis a hozzájuk tartozó területre jellemző átlagértéken belül maradnak. Néha azonban más típusú interferencia által torzított képekkel kell megküzdenie. Ilyen interferencia például az impulzuszaj, amely a képen véletlenszerűen elszórt, véletlenszerű fényességű pontok jelenlétében nyilvánul meg. Az átlagolás ebben az esetben minden ilyen pontot „elken” a szomszédos pixelekre, ami a képminőség romlásához vezet.

A medián szűrés az impulzuszaj elnyomásának szokásos módja. Ez a nemlineáris képfeldolgozási módszer kiküszöböli a kiugrásokat, de a lineáris átlagoló algoritmusokkal ellentétben érintetlenül hagyja a monoton pixelsorozatokat. Ennek köszönhetően a mediánszűrők képesek torzítás nélkül megőrizni az objektumok kontúrjait és a különböző fényerősségű területek közötti különbségeket, miközben hatékonyan elnyomják a nem korrelált zajokat és a kis méretű részleteket.

Szűrési elv: Egy bizonyos, páratlan méretű ablakot állítanak be, egymás után a kép minden pixelére. A vizsgált területre eső összes pixel között, beleértve a középsőt is, megkeresi a középértéket, amelyet végül a terület központi pixeléhez rendelünk. A medián ebben az esetben a régióhoz tartozó rendezett pixelértékek tömbjének középső eleme. A páratlan ablakméretet pontosan úgy választják meg, hogy biztosítsák a középső pixel meglétét.

Arra is lehetőség van, hogy mediánszűrőt használjunk a képen a fehér Gauss-zaj elnyomására. A medián szűréssel végzett zajelnyomás vizsgálata azonban azt mutatja, hogy ennek a probléma megoldásának hatékonysága alacsonyabb, mint a lineáris szűrésé.

A medián szűrés nem mentes a legtöbb zajcsökkentő szűrőben rejlő hátránytól – ha a maszk méretét növeljük a zajcsökkentés mértékének javítása érdekében, a kép élessége csökken, a körvonalai pedig elmosódnak. A negatív hatások minimalizálására azonban lehetőség van dinamikus maszkmérettel (additív mediánszűrés) alkalmazott mediánszűréssel, melynek elve változatlan marad, csak a szűrési csúszóablak mérete változhat a szomszédos pixelek fényességétől függően.

Képélesítés

Szinte minden képzajcsökkentési algoritmus elmosódásához vezet, ennek eredményeként apró részletek elvesznek, és a kép érzékelése nehézkes. A képélesítő szűrő részben kompenzálja ezt a negatív hatást, és visszaállítja az elveszett kontúrkontrasztot és színátmeneteket. Az élesség sok más tényezőtől is függhet - az objektív minőségétől, a használt rekesznyílástól, a legtöbb digitális fényképezőgép mátrixán található anti-moire szűrő vastagságától, amely a képet különböző mértékben homályosítja el. A képek élességét is gyakran növelni kell méretük csökkentése után, mert ebben az esetben az információ egy része elkerülhetetlenül elveszik, és ezzel együtt a kontúrok élessége is.

Az éles maszkolás egy olyan technika, amely a kép tónusai közötti átmenet kontrasztjának növelésével javítja a kép vizuális érzékelését az élesítés illúziója miatt. Valójában az élesség ugyanazon a szinten marad, mert elvileg lehetetlen visszaállítani a kép elveszett részleteit, de a kontraszt javítása a különböző fényerejű területek között azt eredményezi, hogy a kép tisztábbnak tűnik.

5.1. ábra - A "kontúr élessége" fogalmának illusztrációja

A kép élessége függ a körvonalait alkotó területek (W) közötti világosságkülönbség nagyságától, valamint e különbség változásának élességétől (H).

A nem éles maszkolás technikáját először a filmes fényképek feldolgozására alkalmazták. A digitális képfeldolgozásra adaptált módszer alig tér el az eredetitől: a képből levonják az úgynevezett „életlen maszkot” - annak elmosódott és fordított másolatát. Az eredmény egy új kép, amely csak az eredeti világos körvonalait tartalmazza. Sötét kontúrok érhetők el az eredmény egyszerű megfordításával.

Ha tovább vonja ki a sötét éleket az eredeti képből, és ad hozzá világos éleket, akkor minden fényerő-különbségnél jelentős kontrasztnövekedést kap.

Bármely zajcsökkentő szűrő, például a Gauss-szűrő, használható az eredeti elmosására, hogy „életlen maszkot” kapjunk.

5.2 ábra - Az életlen maszkolás eredménye

A konvolúciós műveletet meglehetősen gyakran használják a képfeldolgozásban. Az élesítésen kívül elmosódásra, fényerő növelésre, világosításra stb.

A képkonvolúció egy adott pixel új értékének kiszámításának művelete, amely figyelembe veszi a környező szomszédos pixelek értékeit. Általános értelemben ez a kifejezés valamilyen műveletet jelent, amelyet a kép egyes részein végrehajtanak.

A konvolúció fő eleme a konvolúciós maszk - ez egy mátrix (tetszőleges méretű és képarányú). Az ilyen maszkokat gyakran szűrőnek, magnak, sablonnak vagy ablaknak nevezik. A mátrixelemek értékeit általában együtthatóknak nevezik.

Leggyakrabban négyzetmátrixot használnak konvolúciós kernelként.

A képfeldolgozás a konvolúciós művelettel a következőképpen történik: A mátrix központi eleme, az úgynevezett „horgony”, egymás után a kép minden egyes pixelére szuperponálódik. A vizsgált pixel új értékét a szomszédos pixelek értékeinek összegeként számítjuk ki, megszorozzuk a megfelelő konvolúciós maszk együtthatóival.

Az eredmény a kiválasztott konvolúciós kerneltől függ.

A boost szűrő kernel értéke 1-nél nagyobb a (0, 0) pontban, és az összes érték összege 1. Például egy boost szűrő olyan szűrők, amelyekben a mátrixok által megadott kernelek vannak:

A kontraszt növelésének hatása annak köszönhető, hogy a szűrő kiemeli a szomszédos pixelek intenzitása közötti különbséget, eltávolítva ezeket az intenzitásokat egymástól. Ez a hatás annál erősebb lesz, minél nagyobb az atommag központi tagjának értéke.

A konvolúció alapú lineáris kontrasztnövelő szűrés látható színvilágot okozhat a kép szélei körül.

Fénykülönbség kompenzáció

A képvilágítási problémák leggyakrabban akkor jelentkeznek, amikor az ablakok, a nap vagy más szabályozatlan fényforrás behatol a keretbe.

Ezt a helyzetet "túlfényesnek" nevezik, és ahhoz a tényhez vezet, hogy a túl erős támpillér világítás miatt a túl világos tárgyak hátterében elhelyezkedő tárgyak részletei és színei elvesznek, és nehéz lesz megkülönböztetni.

Gyakran előfordul a fényhiány helyzete is. Ezt okozhatja a rossz megvilágítású, sötét helyiségekben történő fényképezés, valamint a videoberendezések korlátozott érzékenységi tartománya.

Egyléptékű Retinex algoritmus

Amikor megpróbálja világosabbá tenni a képet úgy, hogy az egyes pixelek fényerejét valamilyen rögzített értékkel növeli, a világos területek kezdetben teljesen túlexponáltnak bizonyulhatnak.

Ilyenkor „intelligens” színkorrekció alkalmazása szükséges, amely képes kiegyenlíteni a kép megvilágítását, a világos területeket kevésbé feldolgozva, mint a sötéteket.

Ezeknek a követelményeknek a retina receptorok elvein alapuló Single Scale Retinex algoritmus felel meg. Az algoritmus fő célja a kép felosztása olyan komponensekre, amelyek külön-külön felelősek a megvilágításért és a részletekért. Mivel a kép problémái a jelenet megvilágításával kapcsolatosak, így a világításért felelős komponenst megkapva lehetővé válik a képtől elkülönített transzformálása, ezzel jelentősen javítva a minőségét.

Bármely kép ábrázolható egy nagyfrekvenciás jel (visszaverődés - R) és egy alacsony frekvenciájú jel (megvilágítás - I) szorzataként.

S(x,y) = I(x,y) * R(x,y)(5,6)


5.3 ábra - Képábrázolás a Retinex algoritmusban.

A világításról hozzávetőleges képet kaphatunk aluláteresztő szűréssel – más szóval egyszerűen elmossuk az eredeti képet, például Gauss-szűrővel.

ahol G -- Gauss-szűrő

Mivel a jel logaritmusa nem változtatja meg a frekvenciát, és a logaritmikus függvény tulajdonságaiból adódóan (a szorzat logaritmusa megegyezik a tényezők logaritmusainak összegével), a jelek szorzatának szétválasztása megoldható. leegyszerűsítve a jelek összegének szétválasztásának problémájára.

Ezután már csak a kitevőt kell kivenni a vett jelből, hogy visszaállítsa az eredeti amplitúdóskálára. Az így kapott nagyfrekvenciás komponens hozzáadható az elmosódott és kivilágosított eredeti képhez, amely új megvilágítási modellként működik.

A fénykiegyenlítésből származó hatás túl erős lehet (a sötét területek ugyanolyan fényerősek lesznek, mint a világosak). A hatás csökkentése érdekében egyszerűen keverheti a feldolgozott képet az eredetivel bizonyos arányban.

Gamma korrekció

A gamma-korrekció eredeti célja a különböző kimeneti eszközökön megjelenő színek eltéréseinek kompenzálása, hogy a kép egyforma legyen, ha különböző monitorokon nézzük. Az alkalmazott teljesítményfüggvény nem lineáris formájából adódóan a gamma-korrekció lehetővé teszi a kép sötét területeinek kontrasztjának növelését is anélkül, hogy a világos részleteket kiemelné, és anélkül, hogy elveszítené a képobjektumok határainak láthatóságát.

A fénysűrűség információkat analóg formában a televízióban, valamint digitális formában a legtöbb elterjedt grafikus formátumban nem lineáris skálán tárolják. A monitor képernyőjén egy pixel fényereje arányosnak tekinthető

ahol I a képernyő képpontjának fényereje (vagy a színösszetevők fényereje, külön a piros, zöld és kék),

V egy numerikus színérték 0 és 1 között, és

r -- gamma korrekciós index .

Ha r kisebb, mint 1, akkor a szintátviteli karakterisztika konvex lesz, és a kapott kép világosabb lesz, mint az eredeti. Ha r nagyobb, mint 1, akkor a szintátviteli karakterisztika homorú lesz, és a kapott kép sötétebb lesz, mint az eredeti.

Alapértelmezés szerint az r paraméter 1, ami a szintek lineáris átvitelének felel meg, és nincs gamma-korrekció.

Képkontúr kiválasztása

A kontúrelemzés használható külső körvonalként ábrázolt grafikus objektumok leírására, felismerésére, összehasonlítására és keresésére. Mivel a kontúrok használata kizárja az objektum belső pontjait a számításból, ez jelentősen csökkentheti ezen műveletek számítási és algoritmikus bonyolultságát.

5.4 ábra - A teljesítményfunkció típusának megváltoztatása az r paramétertől függően

Az objektum körvonala olyan pontok listája, amelyek egy görbét képviselnek a képen, amely elválasztja az objektumot a háttértől. Leggyakrabban a fényerő vagy a szín ugrásszerű a kontúr mentén.

A képen a kontúrok keresésének egyszerűsítése érdekében előzetesen binarizálhatja azt.

A Sobel szűrő kiemeli az objektumok széleit azok fényereje alapján. Mivel a színösszetevőt nem veszik figyelembe, a képeket először szürkeárnyalatossá kell konvertálni.

A Sobel-szűrőt szekvenciálisan alkalmazzák az egyes pixelekre, kiszámítva a fényerő gradiensének hozzávetőleges értékét. Az egyes képpontok gradiense (fényerőfüggvény) egy kétdimenziós vektor, amelynek összetevői a kép fényerejének vízszintes és függőleges származékai.

A kép minden pontjában a gradiensvektor a legnagyobb fényerőnövekedés irányába orientálódik, hossza pedig megfelel a fényerő változásának mértékének. Ezek az adatok lehetővé teszik számunkra, hogy feltételezzük, hogy egy adott objektum határán mekkora valószínűséggel találjuk meg a vizsgált pontot, valamint ennek a határnak a tájolását.

Hogy. a Sobel operátor működésének eredménye az állandó fényerő tartományának egy pontján egy nulla vektor lesz, és egy olyan pontban, amely a különböző fényességű régiók határán fekszik - egy vektor, amely átlépi a határt a növekvő fényerő irányában.

A kép egyes pontjaiban a deriváltak hozzávetőleges értékének kiszámításához a Sobel-szűrő egy 3×3-as mátrixú konvolúciót használ.

Sobel mátrix együtthatók:

A gradiens végső értékét közelítéssel számítjuk ki a következő képlet szerint:

|G| = |Gx| + |Gy|

Kenny határérzékelő

Bár Kenny munkáját a számítógépes látás korai napjaiban (1986) végezte, Kenny éldetektora még ma is az egyik legjobb detektor. Kenny módszere egy többlépcsős algoritmus, és a következő lépéseket tartalmazza:

1. A kép megtisztítása a zajtól és a felesleges részletektől.

2. A kép megtisztítása a zajtól és a felesleges részletektől.

3. Keressen képátmeneteket például a Sobel operátor segítségével.

4. A nem maximumok elnyomása. Csak a helyi maximumok vannak jelölve határként.

5. Dupla küszöbű szűrés. A potenciálhatárokat küszöbök határozzák meg.

6. Útvonalak követése (szélek összekapcsolása görbékkel)

Mivel a kép legkisebb zaja is megsértheti a kontúrok integritását, a keresés megkezdése előtt javasolt bármilyen zajcsökkentési módszerrel szűrni a képet. A nagy sebesség és a könnyű implementáció miatt a Gauss-szűrőt használják leggyakrabban. A kép élei különböző irányúak lehetnek, ezért Kenny algoritmusa négy szűrőt használ a vízszintes, függőleges és átlós élek észlelésére. Egy élérzékelési operátor (például a Sobel operátor) segítségével megkapjuk az első derivált értékét vízszintes irányban (Gy) és függőleges irányban (Gx). Ebből a gradiensből megkaphatja a szegély irányának szögét:

A szegély irányszöge a négy függőleges, vízszintes és két átlós szög egyikére kerekítve (például 0, 45, 90 és 135 fok). Csak azokat a pixeleket deklaráljuk szegélynek, amelyekben a gradiens vektor irányú színátmenet helyi maximumát elérjük. Az irányértéknek 45° többszörösének kell lennie. A non-maxima elnyomása után az élek precízebbek és vékonyabbak lesznek.

A következő lépésben a küszöbszűrés minden egyes figyelembe vett pixel esetében meghatározza, hogy az a képhatárokhoz tartozik-e. Minél magasabb a küszöb, annál egyenletesebbek lesznek a talált kontúrok, azonban a gyenge élek figyelmen kívül hagyhatók. Másrészt a küszöb csökkentése növeli az algoritmus zajérzékenységét. A Kenny élérzékelés két szűrési küszöböt használ: ha a pixel értéke meghaladja a felső határt, akkor a maximális értéket veszi fel (a határértéket megbízhatónak tekintjük), ha alacsonyabb, akkor a pixelt elnyomja, olyan pontokat, amelyek értéke a tartományba esik. a küszöbértékek között fix átlagértéket vesznek fel (a következő lépésben finomítjuk).

A képfeldolgozás utolsó szakasza az egyes élek egységes kontúrokká való kötése. Azok a képpontok, amelyek az előző lépésben megkapták az átlagértéket, vagy elnyomódnak (ha nem érintik a már észlelt éleket), vagy a megfelelő kontúrhoz kapcsolódnak.

Szegmentáció

A fotó- és videóberendezésekből nyert képek nagy része raszteres, azaz téglalap alakú rácsban elhelyezett színes pontokból áll. Az emberek azonban az őket körülvevő világot szilárd tárgyak gyűjteményének tekintik, nem pedig pontok mátrixának. Az emberi agy képes a kép különböző részleteit homogén területekre egyesíteni, tudatalatti szinten egyértelműen tárgyakra osztani. Ezt a folyamatot szegmentálásnak nevezik, és szoftveresen is megvalósítható a számítógépes képelemzés és mintafelismerés problémájának megoldása során. A szegmentálást az elemzés első szakaszaiban hajtják végre, és végrehajtásának minősége erősen befolyásolhatja annak sebességét és pontosságát.

A szegmentálási módszerek két osztályra oszthatók: automatikus – felhasználói beavatkozást nem igénylő – és interaktív – felhasználói bevitelt közvetlenül a folyamatban használva.

Az első esetben nem használunk előzetes információkat a régiók tulajdonságairól, de bizonyos feltételeket magára a képpartícióra támasztunk (például minden régiónak egységesnek kell lennie a színben és a textúrában). Mivel a szegmentációs probléma e megfogalmazása nem használ a priori információkat az ábrázolt objektumokról, e csoport módszerei univerzálisak és bármely képre alkalmazhatók.

A módszer minőségének durva becsléséhez egy adott feladatban általában több olyan tulajdonságot rögzítenek, amelyekkel a jó szegmentációnak rendelkeznie kell:

§ A régiók homogenitása (szín vagy textúra egységessége);

§ a szomszédos régiók eltérősége;

§ a régió határának simasága;

§ kis számú kis "lyuk" a régiókon belül;

Küszöb szegmentálás

A küszöbfeldolgozás a legegyszerűbb képfeldolgozásra orientált módszer, amelynek egyes homogén területei átlagos fényerőben különböznek egymástól. Ha azonban a kép egyenetlenül van megvilágítva, egyes objektumok egyezhetnek a háttér intenzitásával, ami hatástalanná teszi a küszöbszegmentálást.

A küszöbszegmentáció legegyszerűbb és egyben leggyakrabban használt típusa a bináris szegmentálás, amikor is csak kétféle homogén területet különböztetünk meg a képen.

Ebben az esetben a forráskép minden pontjának átalakítása kimeneti képpé a következő szabály szerint történik:

ahol x0 az egyetlen feldolgozási paraméter, amelyet küszöbértéknek neveznek. Az y0 és y1 kimeneti fényerősségi szintek tetszőlegesek lehetnek, csak markerként funkcionálnak, amelyek segítségével a kapott térképet jelöljük - pontjait K1, illetve K2 osztályokhoz rendelve. Ha a kapott készítményt vizuális érzékelésre készítjük, akkor értékük gyakran a fekete-fehér szintjének felel meg. Ha kettőnél több osztály van, akkor a küszöbértékek családját kell megadni a küszöbértékek meghatározásánál, elválasztva egymástól a különböző osztályok fényerejét.

A küszöbszegmentálás jól alkalmazható kis számú, nem metsző objektum kiválasztására a képen, amelyek egységes szerkezetűek és élesen kiemelkednek a háttérből. A kép heterogenitási fokának, és ezáltal a szegmensek számának és összetettségének növekedésével ez a fajta szegmentálás hatástalanná válik.

Szegmentálás a gráf particionálása alapján

A gráfelméleti módszerek a képszegmentálás egyik legaktívabban fejlődő területe.

A csoport módszereinek általános elképzelése a következő. A kép súlyozott gráfként jelenik meg, csúcsokkal a képpontokban. A gráf élsúlya tükrözi a pontok bizonyos értelemben vett hasonlóságát (a pontok távolságát valamilyen metrika mentén). A kép particionálását gráfvágásokkal modellezzük.

A gráfelméleti módszerekben általában egy csökkentett „költség” funkciót vezetnek be, amely tükrözi a kapott szegmentálás minőségét. Így a kép homogén régiókra való felosztásának problémája egy olyan optimalizálási problémává redukálódik, amely egy minimális költségcsökkentést keres egy gráfon. Ez a megközelítés a szegmensek színének és textúrájának egységessége mellett lehetővé teszi a szegmensek alakjának, méretének, a szegélyek összetettségének stb.

A minimális költségcsökkentés megtalálásához különféle módszereket használnak: mohó algoritmusokat (minden lépésnél egy élt választunk, hogy a vágás összköltsége minimális legyen), dinamikus programozási módszereket (garantált, hogy minden lépésnél az optimális él kiválasztásával , végül az optimális útvonalhoz jutunk), Dijkstra algoritmus stb.

Interpoláció

A számítógépes grafikában az interpolációs módszert gyakran használják a képek léptékének megváltoztatása során. A képpontok számának változtatásával az interpoláció segít elkerülni a kép túlzott pixelezését nagyításkor, illetve a fontos részletek elvesztését kicsinyítéskor.

Az interpolációs folyamat során a kép pixelei közé további pontok kerülnek be, amelyek becsült tónusát és színét egy speciális algoritmus segítségével számítják ki a szomszédos területeken elérhető adatok elemzése alapján. Sajnos, mivel minden interpoláció csak közelítés, a kép minősége mindig romlik, amikor interpolálják.

A legközelebbi szomszéd interpolációja

Ez az algoritmus az interpoláció legegyszerűbb fajtája, egyszerűen növeli a kép minden egyes pixelét a kívánt méretarányra. A legkevesebb feldolgozási időt igényel, de a legrosszabb eredményekhez vezet.

Bilineáris interpoláció

Az ilyen típusú interpolációt a kétdimenziós rács minden egyes koordinátájára hajtják végre. A képet felületnek tekintik, színt - a harmadik dimenziót. Ha a kép színes, akkor az interpolációt három színre külön-külön kell elvégezni. Az új kép minden egyes ismeretlen pontjára a bilineáris interpoláció az azt körülvevő négy ismert pixelből álló négyzetet veszi figyelembe. Ennek a négy képpontnak a súlyozott átlagát használjuk interpolált értékként. Ennek eredményeként a képek sokkal simábbnak tűnnek, mint a legközelebbi szomszéd módszer eredménye.

A bilineáris interpoláció jól működik a léptékező tényezők egész számú nagy értékénél, azonban eléggé elmosja a kép éles széleit.

A bikubikus interpoláció egy lépéssel tovább megy, mint a bilineáris, figyelembe véve a környező 4x4 pixelből álló tömböt – összesen 16. Mivel ezek különböző távolságra vannak az ismeretlen pixeltől, a legközelebbi pixelek nagyobb súlyt kapnak a számításban. A bikubikus interpoláció lényegesen élesebb képeket készít, mint az előző két módszer, és vitathatatlanul a legjobb a feldolgozási idő és a kimeneti minőség tekintetében. Emiatt számos képszerkesztő programban (beleértve az Adobe Photoshopot is), a nyomtató-illesztőprogramokban és a beépített kamerainterpolációban szabványossá vált.

A méretezett kép jelentősen kevésbé éles lehet. Az élességet jobban megőrző interpolációs algoritmusok hajlamosabbak a moaré-ra, míg azok, amelyek kiküszöbölik a moaré-t, általában lágyabb eredményeket produkálnak. Sajnos ez a méretezési kompromisszum nem kerülhető el.

Az egyik legjobb módja ennek leküzdésére, ha közvetlenül a skálázás után alkalmazunk egy nem éles maszkot, még akkor is, ha az eredetit már kihegyezték.

5.2 Az alrendszerben használt algoritmusok kiválasztásának indoklása

A kifejlesztett szoftvercsomaggal szemben támasztott fő követelmény az volt, hogy minimálisra csökkentsék a videó stream lejátszási késleltetését az előzetes feldolgozás során egy számítástechnikai klaszteren. Ezenkívül a forgatás bármilyen körülmények között történhet, ami azt jelenti, hogy rövid időn belül nagyszámú egyszerű szűrőt kellett bevezetni a különféle negatív hatások semlegesítésére. Ezenkívül számos, a videón rövid időn belül megjelenő negatív tényezőt kellett tanulmányozni, és egyszerű szűrőket kellett bevezetni a semlegesítésükre. A bemutatott követelményeket kielégítő algoritmusok legyenek könnyen hozzáférhetőek, jól optimalizálhatók, nagy megbízhatóságúak, ugyanakkor könnyen megvalósíthatók legyenek. Az OpenCV könyvtár funkciói ilyen tulajdonságokkal rendelkeznek, ezért a videofolyam-feldolgozó szűrők megvalósításának konkrét módszereinek kiválasztásakor prioritást élveztek az ebben a könyvtárban található algoritmusok ilyen vagy olyan formában.

A záró minősítő munka elméleti részében vizsgált valamennyi algoritmus teszt formában valósult meg, jellemzőik gyakorlati összehasonlítása érdekében. Különösen a videofolyam képkocka feldolgozási sebessége és az eredmény minősége közötti kompromisszumot részesítették előnyben.

Ennek eredményeként a következő algoritmusokat választottuk a videofolyam-feldolgozó szűrők megvalósításához a számítási klaszteren:

1. A Gauss-algoritmust választottuk az „additív fehér” zaj eltávolítására. A leggyakoribb zajcsökkentési módszerként nagyon jól optimalizált, ezért nagy sebességgel rendelkezik.

2. A Gauss-algoritmust választottuk az „additív fehér” zaj eltávolítására. A legelterjedtebb zajcsökkentési módszerként nagyon jól optimalizált, ezért nagy a működési sebessége.

3. A medián szűrést választottuk az „impulzus” zaj eltávolítására. Ez a módszer is jól optimalizált, és kifejezetten az impulzív és a só-borszaj kiküszöbölésére tervezték.

4. A kép élesítésére a konvolúciót választottuk, mivel sokkal gyorsabban működik, mint az életlen maszkolás, ugyanakkor elfogadható eredményt ad.

5. Az OpenCV könyvtár nem tartalmaz színkorrekciós algoritmusokat, ezért a legelterjedtebb és jól dokumentált Single Scale Retinex algoritmus megvalósítása mellett döntöttünk. Ez a módszer nagyon nagy hatásfokú, de optimalizálást igényel a munka felgyorsítása érdekében.

6. A Kenny algoritmust választottam élérzékelési módszernek, mivel jobb eredményt ad, mint a Sobel szűrő.

7. Az OpenCV könyvtárban bemutatott piramis szegmentációs algoritmus rendkívül lassú, ezért a korábban vizsgált szegmentációs algoritmus alkalmazása mellett döntöttünk gráfokon.

8. interpoláció - a munka sebessége és az eredmény minősége közötti legésszerűbb kompromisszumként a bicubos interpolációs módszert választottuk.

A használt szoftver telepítése és konfigurálása.

A használt számítási fürt GNU Linuxot (Ubuntu) futtatott.

Az operációs rendszer telepítése után több olyan könyvtárat kell telepítenie, amelyek támogatják a képfájlok olvasását és írását, a képernyőn való rajzolást, a videóval való munkát stb.

CMake telepítése

A projekt a CMake használatával készült (2.6-os vagy újabb verzió szükséges). A következő paranccsal telepítheti:

apt-get install cmake

Szükség lehet a következő könyvtárakra is:

build-essential libjpeg62-dev libtiff4-dev libjasper-dev libopenexr-dev libtbb-dev libeigen2-dev libfaac-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev

ffmpeg telepítése

Ahhoz, hogy az opencv megfelelően feldolgozza a videofájlokat, telepítenie kell az ffmpeg könyvtárat. Ez a következő parancsokkal történik:

1) A könyvtár forráskódjainak letöltése

wget http://ffmpeg.org/releases/ffmpeg-0.7-rc1.tar.gz

2) Az archívum kicsomagolása a forráskódokkal

tar -xvzf ffmpeg-0.7-rc1.tar.gz

3) A könyvtár konfigurációja

configure --enable-gpl --enable-version3 --enable-nonfree --enable-postproc

enable-libfaac --enable-libopencore-amrnb --enable-libopencore-amrwb

Enable-libtheora --enable-libvorbis --enable-libxvid --enable-x11grab

Enable-swscale --enable-shared

4) A könyvtár építése és telepítése

GTK telepítés

Az OpenCV ablakok megjelenítéséhez a GTK+ 2.x vagy újabb telepítése szükséges, beleértve a fejlécfájlokat (libgtk2.0-dev)

apt-get install libgtk2.0-dev

Opencv telepítése

Az összes kapcsolódó könyvtár telepítése után az opencv2.2 telepítése a következő parancsokkal történik:

1) Az OpenCV könyvtár forráskódjainak letöltése

http://downloads.sourceforge.net/project/opencvlibrary/opencv-unix/2.2/OpenCV-2.2.0.tar.bz2

2) Az archívum kicsomagolása a forráskódokkal

tar -xvf OpenCV-2.2.0.tar.bz2

3) Makefile létrehozása a CMake segítségével.

4) az OpenCV könyvtár felépítése és telepítése

5) Lehetséges, hogy be kell állítania a könyvtárak elérési útját is

exportálás LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

A kifejlesztett szoftvercsomag telepítése, összeállítása

A programok forráskódjait át kell másolni a jelen magyarázó megjegyzéshez mellékelt lemezről. Másolja a build_all.sh kötegfájlt ugyanabba a mappába, majd futtassa. Ha a gcc fordító telepítve van a rendszerre, akkor az összeállítás automatikusan megtörténik.

DIGITÁLIS KEZELÉS JELZÉSEK

17. témakör. KÉPFELDOLGOZÁS

Az ember képzeletén túl nincs semmi.

Titus Lucretius. római filozófus és költő. 1. század időszámításunk előtt e.

A képzelet jó dolog. De ha kiszedünk a pincéből egy trógert, kimossuk, Apollóvá alakítjuk, gyufásdobozba csomagoljuk és e-mailben elküldjük egy barátnak, egy jó grafikus program jobban megy.

Anatolij Pismincev, az Uráli Iskola novoszibirszki geofizikusa. 20. század

Bevezetés.

1. Alapfogalmak. Képek grafikus ábrázolása. Színábrázolás számítógépes grafikában. RGB színmodell. CIE XYZ színrendszer.

2. Raszteres képek geometriai transzformációi. Az átalakulás területei és szakaszai. Mintavétel. Kétdimenziós jel-helyreállítás interpolációs sorozata. A képek gyakorisági torzulásai és megszüntetése. Kép újramintavételezése.

3. Képszűrés. Vonalszűrők. Simító szűrők. Kontrasztszűrők. különbségszűrők. Kétdimenziós ciklikus konvolúció. nemlineáris szűrők. Küszöb szűrés. medián szűrés. Extrém szűrők.

4. Képtömörítés. Ismétlési hossz kódolási algoritmusok (RLE). Szótári algoritmusok. Statisztikai kódolási algoritmusok. Veszteséges képtömörítés. Képveszteség becslése. Fourier transzformáció. Wavelet transzformáció.

BEVEZETÉS

A digitális képalkotás területén végzett kutatások köre rohamosan növekszik. Ennek az az oka, hogy a képfeldolgozás többdimenziós jelfeldolgozás, és a való világban a legtöbb jel többdimenziós.


A kép a matematikai ábrázolásban egy kétdimenziós jel, amely hatalmas mennyiségű információt hordoz. Egy 500 × 500 elemből álló színes kép több százezer bájtos tömb. Az ilyen információk feldolgozása csak a számítások ésszerű szervezésével lehetséges. Konkrét képfeldolgozási feladatokhoz hatékony feldolgozási módszerek alkalmazhatók, figyelembe véve az adott feladat jellemzőit és korlátait. De ha képfeldolgozásról beszélünk a problémák széles osztályának megoldására, akkor ki kell választani egy sor szabványos műveletet, amelyből algoritmusokat lehet építeni tetszőleges problémák megoldására. Ide tartoznak a lineáris transzformációk, a 2D konvolúció és a 2D diszkrét Fourier transzformációk.

De a képfeldolgozásban a nemlineáris transzformációkat is széles körben alkalmazzák. A képek sajátossága, hogy a kép egyes elemei bizonyos kapcsolatban állnak a szomszédos elemekkel. Ezért a legtöbb képátalakító algoritmus lokális jellegű, azaz az adott körüli szomszédságában elhelyezkedő elemcsoportok szerint dolgozza fel a képeket. A lineáris transzformációk kielégítik a lokalitás tulajdonságot, és lehetővé teszik olyan algoritmusok felépítését, amelyek számítási bonyolultsága nem nagyon függ a lefedett környék méretétől. Ugyanezek a tulajdonságok szükségesek a nemlineáris képtranszformációkhoz. Az ilyen transzformációk osztályába tartoznak az algoritmusok, amelyeket rangszűrési algoritmusoknak neveznek, és amelyek a helyi rangképstatisztikák számításán alapulnak. A rangsorolási statisztikák és származékaik számításakor a képek információs redundanciájával kapcsolatos egyszerűsítések lehetségesek. Ennek az osztálynak a legismertebb algoritmusa a medián szűrési algoritmus. A rangalgoritmusok további példái az extrém szűrési algoritmusok, amelyek az elemzett képelemet maximumra vagy minimumra cserélik a szomszédságban. A rangalgoritmusok másik tulajdonsága, hogy lokálisan alkalmazkodnak a feldolgozott kép jellemzőihez, és nem csak simításra és zajtalanításra, hanem az automatikus képfelismerés során jellemző kivonásra is felhasználhatók.

A képfeldolgozásban elterjedten alkalmazzák az egydimenziós jelfeldolgozási módszereket, amennyiben lehetséges többdimenziós jelekre általánosítani. Ugyanakkor figyelembe kell venni, hogy a többdimenziós rendszerek leírásának matematikai módszerei nem teljesek. A többdimenziós rendszerek nagyszámú szabadságfokkal rendelkeznek, kialakításuk olyan rugalmasságra tesz szert, amely az egydimenziós rendszerekre nem jellemző. Ugyanakkor a többdimenziós polinomok nem bonthatók egyszerű tényezőkre, ami megnehezíti a többdimenziós rendszerek elemzését és szintézisét.

17.1. Alapfogalmak

Képek grafikus ábrázolása. A grafikus információk kétdimenziós síkon (monitorképernyőn) történő megjelenítéséhez két megközelítést alkalmaznak: rasztert és vektort.

A vektoros megközelítésben a grafikus információkat absztrakt geometriai objektumok halmazaként írják le - egyenesek, szegmensek, görbék, téglalapok stb. A vektoros leírás előzetes ismereteket feltételez a kép szerkezetéről.

A rasztergrafika tetszőleges képeken működik bittérképek formájában. A raszter egy kép leírása egy síkon úgy, hogy egy szabályos rács mentén azonos elemekre osztja (mintavétellel), és minden elemhez hozzárendeli a saját színét és bármilyen egyéb attribútumot. A legegyszerűbb raszter téglalap alakú, a képek továbbítására szolgáló minták számát tekintve a leggazdaságosabb a hatszögletű. Matematikailag a raszter egy folytonos képfüggvény síkjának darabonkénti állandó közelítése.

A raszter egy elemét pixelnek nevezzük. Szabványos pixel azonosítás:


f(i, j) = (A(i, j), C(i, j)), (17.1.1)

ahol A(i, j) Ì R2 - pixel terület, C(i, j) Î C - pixel attribútum (általában szín). A két leggyakrabban használt attribútum:

C(i, j) = I(i, j) - egy pixel intenzitása (fényereje);

C(i, j) = (R(i, j), G(i, j), B(i, j)) - színattribútumok az RGB színmodellben.

Mátrix formában:

Mij ​​= (Aij, Cij).

Folyamatos képek mintavételezésekor az Aij értékek kétféleképpen definiálhatók, vagy az Aij = (i, j) pontok értékeként, amelyekhez a Cij attribútumok definiálva vannak, vagy a négyzetek értékeként. Aij = (i, i+1) × (j, j+1) vagy bármilyen más alak, a Cij definíciója ezen az alakon belüli átlagértékekkel (17.1.1. ábra).

A gyakorlatban általában X és Y egy négyzet- vagy téglalap alakú raszter nemnegatív egész számainak korlátozott halmazai, amelyek képaránya (méretaránya) a szélesség és a raszter magassága között van, ami például így van írva: "4:3".

Színábrázolás számítógépes grafikában. A szín fogalma azon alapul, hogy az emberi szem elektromágneses hullámokat érzékel egy bizonyos frekvenciatartományban. Az általunk észlelt nappali fény λ hullámhossza 400 nm (ibolya) és 700 nm (piros) között van. A fényáram leírása annak I(λ) spektrális függvénye lehet. A fényt monokromatikusnak nevezzük, ha spektrumának csak egy meghatározott hullámhossza van.

A retinán kétféle receptor található: rúd és kúp. A rudak spektrális érzékenysége (17.1.2. ábra) egyenesen arányos a beeső fény fényerejével. A kúpokat három típusra osztják, amelyek mindegyike korlátozott tartományban rendelkezik bizonyos érzékenységgel, maximum piros, zöld és kék szín esetén, és sötétben élesen elveszítik érzékenységüket. A szem kékkel szembeni érzékenysége sokkal alacsonyabb, mint a másik kettőé. Az emberi fényérzékelés egyik fontos tulajdonsága a linearitás, amikor különböző hullámhosszú színeket adunk hozzá.

RGB színmodell (Piros, Zöld, Kék - piros, zöld, kék) a számítógépes grafikában jelenleg a leggyakoribb. Ebben a modellben a spektrumfüggvény az egyes kúptípusok érzékenységi görbéinek összegeként jelenik meg nemnegatív súlyegyütthatókkal (0-tól 1-ig normalizálva), amelyeket R, G és B-vel jelölünk. A modellt a következő jellemzi: az additivitás tulajdonsága, hogy új színeket kapjunk. Például a spektrális függvények kódolása:

Fekete: ffekete = 0, (R, G, B) = (0,0,0);

Viola fviolet = fred + fblue, (R, G, B) = (1,0,1);

Fehér ffehér = fred + fgreen + fblue, (R, G, B) = (1,1,1).

Az RGB modell háromdimenziós színterét az ábra mutatja. 17.1.3. A fény receptorok általi érzékelésének sajátosságai miatt nem minden ember számára látható szín ábrázolható ebben a modellben. A reprodukálható színek aránya azonban sokkal nagyobb, mint az ebben a modellben nem ábrázolható színek aránya.

CIE XYZ színrendszer. A CIE (CIE - Commission Internationale de l "Eclairage)" nemzetközi színmegjelenítési szabványt 1931-ben fogadta el a Nemzetközi Világítási Bizottság, amely három bázisfüggvényt határoz meg: ρX (λ), ρY (λ), ρZ (λ) a színtől függően. hullámhossz , amelyek lineáris kombinációi nem negatív együtthatókkal (X, Y és Z) az összes ember számára látható színt előállítják. Ezek a funkciók figyelembe veszik a fény intenzitásának a szem receptorai általi relatív érzékelését. A háromdimenziós térben a CIE színrendszer kúpot képez az első kvadránsban, és a színes képek kiváló minőségű megjelenítésére szolgál.

17.2. Bittérképek geometriai transzformációi

Az átalakulás területei és szakaszai. A képeket texturálisra és részletesre lehet osztani. A textúraképekben minden minta (elem) információt hordoz (kép a TV képernyőjén). A részletes kép olyan kép, amelyen a zavaró objektumok, a háttér és a hasznos tárgyak megkülönböztethetők.

A számítógépes képfeldolgozó algoritmusoknak három fő csoportja van:

1. Elsődleges (előzetes) képfeldolgozás helyreállítás céljából, véletlenszerű zajtól való tisztítás, minőségjavítás, optikai rendszerek geometriai torzulásainak korrekciója (defókuszálás, aberrációk stb.).

2. Képek leírása, mintafelismerés. A képrészletek paramétereinek meghatározására szolgál, és a következőket foglalja magában: a kép megvilágítás és szín tekintetében egységes területeinek megtalálása, a képek alakjának jeleinek kiemelése, az objektumok speciális pontjainak koordinátáinak meghatározása stb.

3. Hatékony kódolás az átvitel és a tárolás mennyiségének csökkentésére.

A legtöbb előfeldolgozási módszer lineáris térbeli invariáns (LPI) szűrők használatán alapul. A lineáris algoritmusokat az 1D FIR és IIR szűrők 2D analógjai segítségével hajtják végre. Használhatók például szűrők alkalmazásakor a képek zajszintjének csökkentésére.

A FIR szűrők konvolúciós módszerrel valósulnak meg. A 2D FIR szűrők előnye a láthatóság, az egyszerűség és az abszolút stabilitás. Az IIR szűrők differenciálegyenletek és z-transzformációk segítségével valósulnak meg. Gyorsabbak, mint a FIR szűrők, de instabilok lehetnek. A kétdimenziós IIR szűrők szintézise eltér az egydimenziós szűrők szintézisétől, mivel egy kétdimenziós függvénynél nem lehet explicit módon kiválasztani a pólusokat.

Nemlineáris módszerekre is szükség lehet a képek visszaállításához és minőségük javításához. Így például a zaj elnyomása és egyben a képek kontúrrészének megőrzése érdekében nemlineáris vagy lineáris térbeli nem invariáns (SPNI) szűrők alkalmazása szükséges, amelyeket rangalgoritmusok valósítanak meg. Minden rangú nemlineáris szűrő a helyi hisztogramok kiszámítására szolgáló gyors algoritmusokon alapul.

Az egyik ilyen módszer a medián szűrés. A medián szűrők használata hatékonyan képes elnyomni bizonyos típusú zajokat és időszakos zajokat anélkül, hogy egyidejűleg torzítaná a jelet, például a zajkibocsátás töredékeinek elnyomására, beleértve a vonalkieséseket is. A módszer a felismeréssel kapcsolatos problémák megoldására is használható, például vékony vonalak, kis elszigetelt objektumok kiemelésére.

A képek leírására és a képek felismerésére szolgáló algoritmusok általában nem lineárisak és heurisztikus jellegűek. Az objektumok jelei általában az objektum képének területe, a kép kontúrjának kerülete, a terület és a kép kerületének négyzetének aránya. A tárgy alakját a képbe írt vagy a tárgy képe köré körülírt kör sugarával, a kép „tömegközéppontjától” mért minimális és maximális sugárvektor hosszával jellemezhetjük.

Mintavétel. A számítógépes képátalakítások és a feldolgozott adatok tárolása diszkrét formában történik. A mintavételezést arra használják, hogy diszkrét reprezentációt kapjanak a valós világ folyamatos analóg képeiből. A gyakorlatban ezt beviteli eszközök (digitális kamera, szkenner vagy mások) végzik. A feldolgozott képek kimeneti eszközökön (kijelzőn, plotteren stb.) történő vizuális érzékeléséhez az analóg képet a diszkretizált ábrázolása szerint rekonstruálják.

Fekete-fehér képeknél a legegyszerűbb esetben van egy kétdimenziós sa(x, y) tömbünk. Az RGB modellben szereplő színes képek esetében a színek hozzáadásakor az additív tulajdonságot figyelembe véve minden R, G és B réteg kétdimenziós tömbként is felfogható és feldolgozható, az eredmények utólagos összegzésével.

Az egydimenziós periodikus diszkretizálás kétdimenziós esetre történő általánosításának módjai közül a legegyszerűbb a téglalap koordinátákban történő periodikus diszkretizálás:

s(n, m) = sa(nDx, mDy),

ahol Dx és Dy a sa(x, y) kétdimenziós folytonos jel vízszintes és függőleges mintavételi intervallumai folyamatos x és y koordinátákkal. Az alábbiakban a Dx és Dy értékeit, mint az egydimenziós esetben, egyenlőnek tekintjük 1-gyel.

A kétdimenziós jel diszkretizálása spektrumának periodizálásához is vezet, és fordítva. Egy diszkrét jel koordináta- és frekvenciaábrázolásának információs ekvivalenciájának feltétele a fő jeltartományokban azonos számú mintavételi ponttal is megmarad. A téglalap diszkretizáláshoz a direkt és inverz Fourier transzformációt a következő kifejezések határozzák meg:

S(k, l) =s(n, m) exp(-jn2pk/N-jm2pl/M), (17.2.1)

S(k, l) =exp(-jn2pk/N) s(n, m) exp(-jm2pl/M), (17.2.1")

s(n, m) =S(k, l) exp(-jn2pk/N-jm2pl/M). (17.2.2)

s(n, m) = exp(-jn2pk/N) S(k, l) exp(-jm2pl/M). (17,2,2")

Rizs. 17.2.1. Spektrum periodizálás.

Ezek a kifejezések azt mutatják, hogy egy téglalap alakú adatmintavételi raszter feletti 2D DFT kiszámítható 1D soros DFT-k használatával. A (17.2.1") és (17.2.2") kifejezések második összege az s(n, m) és S(k, l) függvények n és k egyenesek mentén lévő szakaszainak egydimenziós DFT-jei, rendre, és az első összegek a számított függvények egydimenziós DFT-jei az m és l-es szakaszokban. Más szóval, az s(n, m) és S(k, l) értékek kezdeti mátrixait először DFT-vel köztes mátrixokká számítjuk át soronként (vagy oszloponként), a köztes mátrixokat pedig DFT-vel végső mátrixokká. oszlopok (illetve sorok) szerint.

Annak érdekében, hogy a spektrum periodikus ismétlődése (17.2.1. ábra), amelyet egy Fx=1/Dx és Fy=1/Dy frekvenciájú analóg jel mintavételezése okoz, ne változtassa meg a spektrumot a főfrekvenciában tartományban (az eredeti analóg jel spektrumához viszonyítva) szükséges és elegendő, hogy az analóg jel spektrumában az fmax maximális frekvenciakomponensek sorokban és oszlopokban ne haladják meg a Nyquist frekvenciát (fmax. x £ fN = Fx/2, fmax. y £ fM = Fy/2). Ez azt jelenti, hogy a jel mintavételezési frekvenciájának legalább kétszer olyan magasnak kell lennie, mint a jelspektrum maximális frekvenciakomponense:

Fx ³ 2fmax. x, Fy ³ 2fmax. y, (17.2.3)

amely biztosítja, hogy a spektrumfüggvények nulla értéket érjenek el a spektrum fő tartományának végein.

Kétdimenziós jel-helyreállítás interpolációs sorozata. Ha az sa(x, y) folytonos jel korlátozott spektrumú jel, és a mintavételezési periódusokat kellően kicsire választjuk, és a szomszédos periódusok spektrumai nem fedik át egymást:

Sa(Wx, Wy) = 0 a |Wx|p/Dx, |Wy|p/Dx esetén,

akkor, mint az egydimenziós esetben, az sa(x, y) jel egy diszkrét jelből rekonstruálható a Kotelnikov-Shannon sorozat kétdimenziós analógjával:

sa(x, y) = Sn Sm s(n, m) . (17.2.4)

A képek gyakorisági torzulásai és megszüntetése. A korlátlan spektrumú jel is mintavételezhető, de ebben az esetben a szomszédos periódusok spektrumai átfedésben vannak, miközben a magas, a Nyquist-frekvenciáknál magasabb frekvenciák "maszkolásra kerülnek", mint az egydimenziós esetben, alatt a főidőszak alacsony frekvenciái. A periódus határairól való "visszaverődés" hatása a különböző koordinátákon visszaverődő frekvenciák interferenciája miatt még összetettebb képet ad. Hasonló hatás, az úgynevezett aliasing akkor is fellép, ha a képek alulmintavételezettek. Ez a hatás különösen jól megfigyelhető éles kontrasztos fényerő-változásoknál.

Az ilyen jelenségek leküzdésére előszűrést (anti-aliasing) használnak - egy analóg kép előzetes konvolúcióját súlyszűrő funkcióval, amely levágja azokat a magas frekvenciájú összetevőket, amelyek aliasinghoz vezethetnek. Kétdimenziós esetben a szűrés leírása a következő:

z(x, y) = h(x", y") ③③ s(x-x", y-y"). (17.2.5)

Meg kell jegyezni, hogy az analóg képek csak az optikai tartományban léteznek, például fénykijelzés formájában a képernyőn, fotópapíron vagy fényképészeti filmen, de nem létezhetnek a számítógép memóriájában. Ezért az előszűrés fizikai megvalósítása csak akkor lehetséges, ha egy képet defókuszálással regisztrál, amelyet általában nem használnak. Az elsődleges információkat mindig maximális teljességgel és pontossággal kell rögzíteni, az elsődleges információk felesleges részletektől és redundanciától való megtisztítása pedig utólagos adatfeldolgozás kérdése. Ezért a 17.2.5 egyenlet kapcsán a kétdimenziós előszűrés gyakorlati megvalósításában csak a fő frekvenciatartományban (túl nagy felbontású) nagy ráhagyással mintavételezett képek szűrése lehet, és általában használatos. , amikor újramintavételezést végez egy nagyobb lépésre, például a képek tömörítésekor. Az előszűrés a képalkotó algoritmusokba is beépíthető.

ábrán A 17.2.3 és az alábbiakban a 17.2.1 táblázat példákat mutat be a leggyakoribb egydimenziós élsimító szűrőkre. Megvalósíthatók analóg szűrők formájában is, és például televíziós képsorok analóg formátumú rádiócsatornákon keresztüli továbbítására használják (vízszintes élsimítás). Hasonló művelet elvileg oszlopokon is elvégezhető (másolat - kép), és a kép összegzése után teljes élsimítási műveletet hajtanak végre, de ez a módszer inkább a speciális tudományos kutatások körébe tartozik.

17.2.1. táblázat.

Alapvető súlyfunkciók

idő ablak

súly funkció

Fourier transzformáció

Természetes (P)

П(t) = 1, |t|£t; П(t) = 0, |t|>t

П(w) = 2t sinc

Bartlett (D)

B(w) = t sinc2(wt/2).

Henning, Hanna

p(t) = 0,5

0,5 p (sz) + 0,25 p (w + é/t) + 0,25 p (w-p/t)

Hamming

p(t) = 0,54+0,46 cos(pt/t)

0,54P(w)+0,23P(w+p/t)+0,23P(w-p/t)

Carré (2. ablak)

p(t) = b(t) sinc(pt/t)

t B(w)*P(w), P(w) = 1 |w| esetén

Laplace-Gauss

p(t) = exp[-b2(t/t)2/2]

[(t/b) exp(-t2w2/(2b2))] ③ P(w)

Az f1(x) egydimenziós szűrők kétdimenziós analógjai két szimmetriaváltozatban készülnek: vagy a sugár függvényében:

f2(x, y) = f1(),

vagy műként:

f2(x, y) = f1(x) × f1(y).

Az első lehetőség a helyesebb, de a második rendelkezik az elválaszthatóság tulajdonságával, vagyis a kétdimenziós konvolúciót két egydimenziós konvolúció hajtja végre egymás után sorokban f1(x)-el és oszlopokban f1(y)-vel.

Kép újramintavételezése vagy az újramintavételezés a digitális jel mintavételezési gyakoriságának változása. Digitális képek esetén ez a kép átméretezését jelenti.

Különféle kép-újramintavételi algoritmusok léteznek. Például a kép kétszeres növeléséhez a bilineáris interpolációs módszerrel, a közbenső oszlopokat és sorokat a szomszédos oszlopok és sorok értékeinek lineáris interpolálásával kapjuk meg. Lehetőség van az új kép minden pontjára az eredeti kép nagyobb számú pontjának súlyozott összegeként (bicubos és egyéb interpoláció). A legjobb minőségű újramintavételezés akkor érhető el, ha olyan algoritmusokat használunk, amelyek nemcsak az időt, hanem a jel frekvenciatartományát is figyelembe veszik.

Vegyünk egy újramintavételezési algoritmust a kép frekvenciainformációinak maximális megőrzésével. Az algoritmus működését egydimenziós jeleken fogjuk megvizsgálni, mivel egy kétdimenziós képet először vízszintesen (sorokban), majd függőlegesen (oszlopokban) lehet nyújtani vagy összenyomni, és a kétdimenziós kép újramintavételezése elvégezhető. az egydimenziós jelek újramintavételezésére redukálják.

Tegyük fel, hogy van egy egydimenziós jelünk (17.2.4. ábra), amely a 0-T intervallumon van megadva, és Dt=1 lépéssel diszkretizált (N intervallum). A jelet m-szeresre kell "nyújtani". Az ábrán látható jel spektruma a gyors Fourier-transzformációval (FFT, a spektrumminták száma megegyezik a jelminták számával) számítva a fő FFT tartományban (0-2p, Nyquist frekvencia wN = p/Dt = p, vagy 0,5N a spektrumminták számozása szerint a spektrum mentén lépéssel Df = 1/T vagy Dw = 2p/T). A nyújtáshoz 2 lépés szükséges.

Az első lépés a nulla interpoláció, amely m-szeresére növeli a jel hosszát. (17.2.5. ábra). Az eredeti jel összes mintáját meg kell szorozni m-rel, majd minden jelminta után m-1 nulla értéket kell beilleszteni. A 0-T intervallumon, amelynek értéke változatlan, most m-szer több mintavételi intervallum van (mN), és az új mintavételi lépés Dx=Dt/m lesz. Ennek megfelelően ennek a jelnek az új Nyquist-frekvenciája mp/Dt = mp. De a spektrumlépcső frekvenciaegységben megadott fizikai értéke ellentétes a jelbeállítási intervallum fizikai értékével (Df=1/T), ezért az FFT mN jelponton a spektrum mN pontját számítja ki a fő FFT 0-2pm tartomány az eredeti jel spektrumlépésével, melyben az eredeti jel spektrumának m-periódusai lesznek jelen (egy fő és m-1 oldal).

A második lépés a spektrum oldalsávjainak kiszűrése aluláteresztő szűrővel, akár idő-, akár spektrális tartományban. ábrán A 17.2.6. pontban a spektrum törlése és az inverz Fourier transzformáció végrehajtása megtörtént, melynek eredményeként az eredeti jelnél m-szer hosszabb jelet kaptunk, minden frekvencia információ teljes megőrzésével.

Hasonló elv szerint egy jel n-szeres tömörítésére (tizedelésére) építhető algoritmus, miközben a lépések sorrendje megfordul. A jel tömörítésekor a jel mintavételezési lépése megnő, és ennek megfelelően csökken a Nyquist-frekvencia, miközben a levágott magas frekvenciák (zaj és a jelspektrum jelentéktelen nagyfrekvenciás részei) visszaverődnek a fő tartomány határáról. és hozzáadva a fő információhoz, torzításokat okozva. Ennek a jelenségnek a kiküszöbölésére először a jelet aluláteresztő szűréssel, az új Nyquist-frekvenciával megegyező vágási frekvenciával (anti-aliasing) végzik, és csak ezután tizedelik meg a jelet ritkítással.

Ha az újramintavételezést csak az időtartományban hajtják végre, akkor a nyújtási és tömörítési algoritmusokat általában egyetlen szekvenciális folyamatba egyesítik a mintavételi lépés változásának m/n arány formájában történő beállításával, amely lehetővé teszi m egész számok beállítását. és n a mintavételi lépés változásának törtértékeihez. Ez nagymértékben leegyszerűsíti az algoritmusokat, és javítja a munkájuk hatékonyságát és minőségét. Például, ha a jelet 1,5-szeresére nyújtják m/n = 3/2-nél, a jel először háromszorosára nyújtódik (egy egyszerű és egyenletes nullák hozzáadása az összes mintához, majd aluláteresztő szűrést hajtanak végre, ami után a jelet kétszeresére tizedeljük. Anti-aliasing szűrő nem szükséges, mivel a vágási frekvenciája átfedésben van az első aluláteresztő szűrő frekvenciájával.A fordított tömörítési műveletben (például m/n = 2/3 ), hasonlóan csak az élsimító szűrőt használják.

17.3. képszűrés

A képszűrés olyan művelet, amelynek eredményeképpen az eredetiből bizonyos szabályok szerint azonos méretű képet kapunk. Jellemzően az eredményül kapott képen az egyes pixelek intenzitását (színét) az eredeti kép valamely szomszédságában elhelyezkedő pixelek intenzitása (színe) határozza meg.

A szűrési szabályok nagyon sokfélék lehetnek. A képszűrés a számítógépes látás, a mintafelismerés és a képfeldolgozás egyik legalapvetőbb művelete. A képfeldolgozási módszerek túlnyomó többsége az eredeti képek ilyen vagy olyan szűrésével kezdődik.

Vonalszűrők nagyon egyszerű matematikai leírásuk van. Feltételezzük, hogy az eredeti A féltónus kép adott, és pixeleinek intenzitását A(x, y)-val jelöljük. A lineáris szűrőt egy raszteren definiált valós értékű h függvény (szűrő kernel) határozza meg. Maga a szűrés a diszkrét konvolúció (súlyozott összegzés) művelettel történik:

B(x, y) = h(i, j) ③③A(x, y) = h(i, j) A(x-i, y-j). (17.3.1)

Az eredmény a B kép. Általában a szűrőmag csak a (0, 0) pont valamely N-es környezetében nem nulla. Ezen a környéken kívül h(i, j) egyenlő nullával, vagy nagyon közel van hozzá, és figyelmen kívül hagyható. Az összegzés (i, j) н N felett történik, és az egyes B(x, y) pixelek értékét az A kép azon pixelei határozzák meg, amelyek az (x, y) pont közepén lévő N ablakban helyezkednek el ( az N(x, y) ) halmazt jelöljük. Az N téglalap alakú szomszédságon definiált szűrőmag egy m x n mátrixnak tekinthető, ahol az oldalhosszak páratlan számok. Amikor a kernelt mátrixként adjuk meg, középre kell helyezni. Ha egy pixel (x, y) a kép szélei közelében található, akkor bizonyos (i, j) A(x-i, y-j) koordináták megfelelhetnek a képen kívül nem létező A pixeleknek. Ez a probléma többféleképpen is megoldható.

Ne szűrjön az ilyen képpontokra úgy, hogy a B képet levágja a széleken, vagy az A kép eredeti értékeit alkalmazza értékükhöz.

Ne vegye bele a hiányzó képpontot az összegzésbe úgy, hogy a súlyát h(i, j) egyenletesen ossza el az N(x, y) szomszédságban lévő többi pixel között.

Határozza meg újra a kép határain kívüli képpontértékeket extrapoláció segítségével.

Határozza meg újra a kép határain kívüli pixelek értékét a kép tükörfolytatásával.

A módszer kiválasztása az adott szűrő- és képjellemzők figyelembevételével történik.

Simító szűrők. A legegyszerűbb r sugarú téglalap alakú simítószűrőt egy (2r+1) × (2r+1) mátrix adja, melynek minden értéke 1/(2r+1)2, és az értékek összege: egy. Ez az aluláteresztő 1D U-alakú mozgóátlagszűrő 2D analógja. Ilyen kernellel történő szűréskor a pixelértéket a körülötte lévő 2r+1 négyzetben az átlagolt pixelérték váltja fel. Példa 3×3 szűrőmaszkra:

.

A szűrők egyik alkalmazása a zajcsökkentés. A zaj pixelenként pixelenként változik, és feltéve, hogy a zajérték matematikai elvárása nulla, a szomszédos pixelek zaja kioltja egymást az összegzéskor. Minél nagyobb a szűrési ablak, annál alacsonyabb az átlagos zajintenzitás, ugyanakkor a jelentős képrészletek ennek megfelelő elmosódása is előfordul. A fekete alapon lévő fehér pont képe szűrés közben (egyetlen impulzusra reagálva) egyenletesen szürke négyzet lesz.

A téglalap alakú szűrővel végzett zajcsökkentésnek van egy jelentős hátránya: a szűrőmaszkban lévő összes pixel a feldolgozotttól bármely távolságban ugyanolyan hatással van az eredményre. Valamivel jobb eredmény érhető el, ha a szűrőt a központi pont súlyának növelésével módosítjuk:

.

Hatékonyabb zajcsökkentés érhető el, ha a pixelek hatása az eredményre a feldolgozotttól való távolság növekedésével csökken. Ezzel a tulajdonsággal egy Gauss-szűrő rendelkezik egy kernellel: h(i, j) = (1/2ps2) exp(-(i2+j2)/2s2). A Gauss-szűrőnek végtelen méretű, nullától eltérő magja van. A szűrőmag értéke azonban nagyon gyorsan n-re csökken, ezért a gyakorlatban egy (0, 0) körüli kis ablakkal a konvolúcióra korlátozhatjuk magunkat, például az ablak sugarát 3σ-val véve.

A Gauss-szűrés is simító. A téglalap alakú szűrővel ellentétben azonban egy pont képe Gauss-szűréssel szimmetrikusan elmosódott folt lesz, amelynek fényereje a közepétől a szélek felé csökken. A kép elmosódásának mértékét a σ paraméter határozza meg.

Kontrasztszűrők . Ha a simító szűrők csökkentik a kép helyi kontrasztját, elmossák azt, akkor a kontrasztjavító szűrők ellenkező hatást váltanak ki, és lényegében nagy térfrekvenciás szűrők. A (0, 0)-nál lévő boost szűrő kernel értéke nagyobb, mint 1, az értékek összege pedig 1. Például a boost szűrők olyan szűrők, amelyeknek kernelt mátrixok adnak meg:

. .

ábrán látható egy példa a szűrő alkalmazására. 17.3.1. A kontraszt növelésének hatása annak köszönhető, hogy a szűrő kiemeli a szomszédos pixelek intenzitása közötti különbséget, eltávolítva ezeket az intenzitásokat egymástól. Ez a hatás annál erősebb lesz, minél nagyobb az atommag központi tagjának értéke. A lineáris kontrasztjavító szűrés jellegzetes alkotása az észrevehető fény és a kevésbé észrevehető sötét fényudvar a széleken.

Különbségszűrők A differenciáloperátorok diszkrét közelítésével (véges különbségek módszerével) meghatározott lineáris szűrők. Ezek a szűrők számos alkalmazásban fontos szerepet játszanak, például a kép éleinek keresésekor.

A legegyszerűbb differenciáloperátor a d/dx x-derivált, amely folytonos függvényekre van definiálva. A diszkrét képekhez hasonló operátorok gyakori változatai a Prewitt és a Sobel szűrők:

. .

A derivált operátort a d/dy y-koordinátához képest közelítő szűrőket mátrixok transzponálásával kapunk.

A legegyszerűbb algoritmus a gradiens normájának kiszámításához három szomszédos ponton:

G(x, y) = .

Egy egyszerűsített számítási képlet is használatos:

Egy gradiens normájának kiszámítása négy szomszédos pont felett (Roberts-operátor):

A Sobel algoritmus nyolc fényerőmintát használ a központi pont közelében:

G(x, y) = , G(x, y) @ ,

Gxx, y = - ,

Gyx, y = - .

A gradiens norma pontosabb meghatározása mellett a Sobel algoritmus lehetővé teszi a gradiens vektor irányának meghatározását a képelemzési síkban a gradiens vektor és a mátrix sorok iránya közötti j szög formájában:

j(x, y) = argtg(Gyx, y /Gxx, y).

A simító és kontrasztjavító szűrőkkel ellentétben, amelyek nem változtatják meg az átlagos képintenzitást, a különbségi operátorok alkalmazása eredményeként általában nullához közeli átlagos pixelértékű képet kapunk. Az eredeti kép függőleges cseppjei (szegélyei) a kapott képen nagy moduloértékekkel rendelkező pixeleknek felelnek meg. Ezért a különbségszűrőket objektumhatár-észlelő szűrőknek is nevezik.

Hasonlóan a fenti szűrőkhöz, a véges különbség módszer is használható szűrők összeállítására más differenciáloperátorokhoz. Különösen a D= 𝝏2/𝝏x2 + 𝝏2/𝝏y2 differenciális Laplace-operátor (Laplacian), amely számos alkalmazásnál fontos, diszkrét képekhez közelíthető egy mátrixos szűrővel (az egyik lehetőség):

.

ábrán látható. 17.3.2, a diszkrét laplacián alkalmazása eredményeként az abszolút értékben kifejezett nagy értékek mind a függőleges, mind a vízszintes fényerő különbségeknek megfelelnek. A szűrő tehát olyan szűrő, amely bármely tájolás határait megtalálja. A kép éleit úgy lehet megkeresni, hogy alkalmazza ezt a szűrőt, és vesz minden olyan képpontot, amelynek abszolút értéke meghaladja egy bizonyos küszöböt.

Ennek az algoritmusnak azonban jelentős hátrányai vannak. A fő tényező a küszöbérték megválasztásának bizonytalansága. A kép különböző részeinél általában lényegesen eltérő küszöbértékeknél érhető el elfogadható eredmény. Ezenkívül a differenciálszűrők nagyon érzékenyek a képzajra.

Kétdimenziós ciklikus konvolúció. Az 1D jelekhez hasonlóan a 2D konvolúció is végrehajtható a térbeli frekvenciatartományban FFT algoritmusok és a 2D képspektrumok és a szűrőkernel megszorzásával. Ez is ciklikus, és általában csúszó változatban hajtják végre. Figyelembe véve a ciklikusságot, a kernel spektrum állandó mintázatának kiszámításához a kernelszűrő maszk méreteit a tengelyek mentén megduplázzuk és nullákkal töltjük fel, és ugyanazokkal a maszk méretekkel emeljük ki a képen átcsúszott ablakot, amelyen belül megtörténik az FFT. A FIR szűrő FFT-vel való megvalósítása különösen hatékony, ha a szűrő nagy referenciafelülettel rendelkezik.

Nemlineáris szűrők . A digitális képfeldolgozásban a rangstatisztikákon alapuló nemlineáris algoritmusokat széles körben alkalmazzák a különféle zajmodellek által sérült képek helyreállítására. Lehetővé teszik a további képtorzulás elkerülését a zaj eltávolításakor, valamint jelentősen javítják a szűrők eredményeit a nagy zajszintű képeken.

Vezessük be egy A(x, y) képelem M-szomszédságának fogalmát, amely központi szerepet játszik ebben a szomszédságban. A legegyszerűbb esetben az M-szomszédság N-pixelt tartalmaz - olyan pontokat, amelyek a szűrőmaszkba esnek, beleértve (vagy nem tartalmazza) a központit. Ezen N-elemek értékei egy V(r) variációs sorozatba helyezhetők, növekvő (vagy csökkenő) sorrendbe rendezve, és ennek a sorozatnak bizonyos momentumai kiszámíthatók, például az mN fényerő átlagértéke. és a diszperzió dN. A központi mintát helyettesítő szűrő kimeneti értékének kiszámítása a következő képlettel történik:

B(x, y) = aА(x, y) + (1-a)mN. (17.3.2)

Az a = együttható értéke bizonyos függőséggel jár a szűrőablak mintáinak statisztikáitól, például:

a = dN /(dN + k dS), (17.3.3)

ahol dS a kép egészére vagy az S-szomszédságra kiterjedő zajvarianciája S > M és MнS esetén, k az S-szomszédsági variancia konfidencia állandója. Ebből a képletből következik, hogy k=1 és dN » dS esetén a » 0,5 történik, és a B(x, y) = (A(x, y) + mN)/2 érték, azaz egyenlő arányban összeadódnak a központi minta értékein és M-környékének pixeleinek átlagértékén. A dN értékeinek növekedésével a központi referencia értékének hozzájárulása az eredményhez nő, csökkenésével mN értéke. Az M-környéki átlagértékek hozzájárulásának súlya a k együttható értékével változtatható.

A statisztikai függvény megválasztása és az a együttható attól való függésének jellege meglehetősen sokrétű lehet (például az M-környéki leolvasási különbségek eltérései szerint központi leolvasással), és attól függ a szűrőnyílás méretétől, valamint a képek és a zaj jellegétől. Lényegében az a együttható értékének meg kell határoznia a központi minta károsodásának mértékét, és ennek megfelelően az M-szomszédságból származó minták korrekciójához szükséges kölcsönzési függvényt.

A képfeldolgozáshoz használt nemlineáris szűrők legegyszerűbb és leggyakoribb típusai a küszöb- és mediánszűrők.

Küszöb szűrés például a következőképpen van megadva:

B(x, y) =

Érték p a szűrő küszöbértéke. Ha a szűrő középpontjának értéke a küszöbértékkel meghaladja az M-környékében lévő mN minták átlagértékét, akkor azt az átlagértékkel helyettesítjük. A küszöbérték lehet állandó vagy funkcionálisan függő a központi pont értékétől.

Medián szűrés a következőképpen van meghatározva:

B(x, y) = med (M(x, y)),

azaz a szűrési eredmény a szomszédos pixelek medián értéke, amelyek alakját a szűrőmaszk határozza meg. A medián szűrés hatékonyan távolíthatja el a kép zaját, amely függetlenül befolyásolja az egyes képpontokat. Ilyen interferenciák például a digitális fényképezés során „eltört” képpontok, a „hó” zaj, amikor egyes pixeleket maximális intenzitású pixelekre cserélnek stb. A medián szűrés előnye, hogy a sötét háttéren lévő „forró” pixel kicserélődik. sötét, és nem "elkenődött" a környéken.

A medián szűrés kifejezett szelektivitással rendelkezik a tömbelemek tekintetében, amelyek a szűrőnyíláson belüli számsorozat nem monoton összetevői. Ugyanakkor a medián szűrő változatlanul hagyja a sorozat monoton komponensét. Ennek a tulajdonságnak köszönhetően az optimálisan megválasztott rekesznyílású mediánszűrők torzítás nélkül megőrzik az éles tárgyéleket, elnyomva a nem korrelált vagy gyengén korrelált zajokat és a kis méretű részleteket.

Extrém szűrők szabályok határozzák meg:

Bmin(x, y) = min(M(x, y)),

Bmax(x, y) = max (M(x, y)),

azaz a szűrés eredménye a szűrőmaszk minimális és maximális pixelértéke. Az ilyen szűrőket rendszerint a bináris képekre alkalmazzák.

17.4. KÉPTÖMÖRÍTÉS

Egy tipikus, körülbelül 3000 × 2000 felbontású, 24 bit/pixel felbontású kép a színátvitelhez 17 megabájt méretű. Professzionális eszközök esetén az így létrejövő képraszter mérete jóval nagyobb lehet, a színmélység pixelenként akár 48 bit is lehet, egy kép mérete pedig meghaladja a 200 megabájtot. Ezért a képtömörítési algoritmusok nagyon fontosak a képet reprezentáló adatmennyiség csökkentésében.

Az algoritmusoknak két fő osztálya van:

1. Veszteségmentes tömörítés A (veszteségmentes tömörítés), ha létezik olyan inverz A-1 algoritmus, hogy bármely h képre A[h] = h1 A-1 = h legyen. A veszteségmentes tömörítést olyan grafikus képformátumokban alkalmazzák, mint: GIF, PCX, PNG, TGA, TIFF, és különösen értékes elsődleges információk (orvosi képek, légi és űrfelvételek stb.) feldolgozásakor használják, amikor még a legkisebb torzítás sem kívánatos.

2. Veszteséges tömörítés, ha nem biztosítja az eredeti kép pontos visszaállítását. Az A-val párosított hozzávetőleges kép-helyreállítási algoritmust A*-ként jelöljük. A pár (A, A*) úgy lett megválasztva, hogy magas tömörítési arányt biztosítson a vizuális minőség megőrzése mellett. A veszteséges tömörítést grafikus formátumokban alkalmazzák: JPEG, JPEG2000 stb.

Minden algoritmus és állítás vonatkozik képekre és tetszőleges sorozatokra is, amelyek elemei véges számú értéket vehetnek fel. Ugyanakkor figyelembe kell venni, hogy nincs ideális algoritmus, amely bármilyen adathalmazt veszteség nélkül tömöríthet.

Repeat Length Encoding (RLE) algoritmusok egyszerű elven alapulnak: az eredeti sorozat ismétlődő elemcsoportjainak helyettesítése egy párral (mennyiség, elem), vagy csak egy mennyiséggel.

bit szinten. Az eredeti adatokat egy bitsorozat szintjén fogjuk figyelembe venni, például egy fekete-fehér képet ábrázolva. Általában több 0 vagy 1 van egy sorban, és az egymást követő azonos számjegyek száma kódolható. De az ismétlések számát is bitben kell kódolni. Feltételezhető, hogy minden ismétlésszám 0-ról 7-re változik (3 bites kód), váltakozva az egyesek és nullák kódsorozata. Például a sorozatokat össze lehet hasonlítani a 7 0 4, azaz 7 egyes, 0 nulla, 4 egyes számokkal, miközben új évünk van - Minél hosszabbak az azonos bitek sorozatai, annál nagyobb a hatás. Tehát egy 21 egyesből, 21 nullából, 3 egyesből és 7 nullából álló sorozatot a következőképpen kódoljuk: , azaz az eredeti 51 bites sorozatból 36 bites sorozatunk van.

Byte szint. Tegyük fel, hogy a bemenet egy szürkeárnyalatos kép, ahol 1 bájt van allokálva a pixelintenzitás értékére, miközben az azonos bitekből álló hosszú lánc elvárása jelentősen csökken.

A bemeneti adatfolyamot bájtokra bontjuk (kód 0-tól 255-ig), és az ismétlődő bájtokat egy párként (szám, betű) kódoljuk. Egy bájt sem módosítható. Tehát az AABBBCDAA bájtok (2A) (3B) (C) (D) (2A) kódolják.

Ennek az algoritmusnak a módosításait azonban ritkán használják önmagukban (például PCX formátumban), mivel a szekvenciák azon alosztálya, amelyre az algoritmus hat, viszonylag szűk. Gyakrabban használják őket a kompressziós csővezeték egyik szakaszaként.

Szótár algoritmusok ahelyett, hogy a bejövő sorozatnak csak egy elemét kódolnánk, egy elemlánc kódolása történik meg. Ez a karakterláncok szótárát használja (amelyet a bemeneti sorozatból hoztak létre) az újak kódolásához.

Az LZ77 algoritmus az elsők között használt szótárt. A sorozat N utolsó, már kódolt eleme szótárként használatos. A tömörítés során a szótár-alszekvencia "csúszik" a bejövő sorozaton. A kimeneten lévő elemlánc kódolása a következőképpen történik: a feldolgozott elemlánc illeszkedő részének pozíciója a szótárban - eltolás (az aktuális pozícióhoz viszonyítva), hossza, a lánc illeszkedő részét követő első elem. Az illeszkedő lánc hosszát felülről az n szám korlátozza. Ennek megfelelően a feladat az, hogy a szótárból megkeressük a feldolgozott sorozatnak megfelelő legnagyobb karakterláncot. Ha nincs egyezés, akkor a nulla eltolás, egy hosszúság és a kódolatlan sorozat első eleme kerül kiírásra.

A fent leírt kódolási séma egy tolóablak koncepciójához vezet, amely két részből áll:

A már kódolt N hosszúságú elemek részsorozata - keresési puffer;

Az elemek láncából származó n hosszúságú részsorozat, amelyhez egyezést próbálunk találni, az előretekintő puffer.

A tömörített szekvencia dekódolása a rögzített kódok dekódolása: minden szócikkhez egy szótári láncot és egy kifejezetten írt elemet párosítunk, ami után a szótár eltolódik. A szótár a dekódoló algoritmus futása közben újra létrejön.

Ez az algoritmus egy egész algoritmuscsalád őse. Előnyei közé tartozik a megfelelő fokú tömörítés kellően nagy szekvenciák esetén és a gyors dekompresszió. A hátrányok közé tartozik a lassú tömörítési sebesség és az alternatív algoritmusoknál alacsonyabb tömörítési arány.

LZW algoritmus. Ebben az algoritmusban a szótár egy táblázat, amely az algoritmus futása során elemláncokkal van tele. A tömörítési folyamat a szótárba már beírt leghosszabb karakterláncot keresi. Minden alkalommal, amikor egy új elemsor nem található a szótárban, az hozzáadódik a szótárhoz, és rögzítésre kerül a karakterlánc kódja. Elméletileg a táblázat méretének nincs korlátozása, de a méretkorlát javítja a tömörítési arányt, mivel felhalmozódnak a felesleges (nem előforduló) láncok. Minél több bejegyzés van egy táblában, annál több információt kell hozzárendelni az üzletkódokhoz.

A dekódolás a kódok közvetlen dekódolásából, azaz egy szótár felépítéséből és a megfelelő láncok kimenetéből áll. A szótár inicializálása ugyanúgy történik, mint a kódolóban. Az algoritmus előnyei közé tartozik a nagyfokú tömörítés és a meglehetősen nagy sebesség, mind a tömörítés, mind a dekódolás.

Entrópia kódoló algoritmusok a sorozat minden eleméhez rendeljünk egy kódot úgy, hogy annak hossza megfeleljen az elem előfordulási valószínűségének. A tömörítés úgy történik, hogy az eredeti sorozat azonos hosszúságú elemeit (mindegyik elem ugyanannyi bitet foglal el) a valószínűség negatív logaritmusával arányos különböző hosszúságú elemekkel helyettesítjük, azaz a többinél gyakrabban előforduló elemek kódja: kisebb hosszúságú.

A Huffman algoritmus változó hosszúságú előtagkódot használ, amelynek van egy speciális tulajdonsága: a rövidebb kódok nem egyeznek a hosszabbak előtagjával (kezdő részével). Egy ilyen kód lehetővé teszi az egy az egyhez kódolást. A tömörítési folyamat abból áll, hogy a bemeneti szekvencia minden elemét a kódjukkal helyettesítjük. A kódhalmaz felépítését általában az ún kódfák.

A Huffman-algoritmus kétlépéses. A képen az első áthaladás létrehozza az elemsúlyok táblázatát, a második lépés során pedig kódolás történik. A rögzített tábla algoritmusnak vannak implementációi. Gyakran előfordul, hogy az ábécé elemeinek a priori valószínűségi eloszlása ​​ismeretlen, mivel a teljes sorozat nem érhető el egyszerre, miközben a Huffman algoritmus adaptív módosításait alkalmazzák.

Veszteséges képtömörítés. A képek tárolásához szükséges információ mennyisége általában nagy. A klasszikus algoritmusok, mivel általános célú algoritmusok, nem veszik figyelembe, hogy a tömörítendő információ egy kép – egy kétdimenziós objektum, és nem biztosít megfelelő fokú tömörítést.

A veszteséges tömörítés a kép emberi érzékelésének sajátosságain alapul: a legnagyobb érzékenység a színhullámhosszok egy bizonyos tartományában, a kép egészének érzékelése, kis torzulások észrevétele nélkül. A képek fő osztálya, amelyre a veszteséges tömörítési algoritmusok összpontosítanak, a fényképek, a sima színátmenetekkel rendelkező képek.

Képveszteség becslése. A tömörített képek helyreállítása (dekódolása) utáni képek veszteségeinek becslésére számos módszer létezik, azonban mindegyikhez két kép választható úgy, hogy a különbség mértéke elég nagy legyen, de a különbségek szinte észrevehetetlenek. a szem. És fordítva is – felvehet olyan képeket, amelyek szemenként nagymértékben különböznek, de kismértékben különböznek egymástól.

A veszteség standard numerikus mértéke általában a rekonstruált kép pixelértékeinek szórása (RMS) az eredetitől. A veszteségértékelés legfontosabb "mérőszáma" azonban a megfigyelő véleménye. Minél kevesebb eltérést (vagy jobb esetben hiányukat) észlel a megfigyelő, annál jobb a tömörítési algoritmus minősége. A veszteséges tömörítési algoritmusok gyakran lehetővé teszik a felhasználó számára, hogy megválassza az „elveszett” adatok mennyiségét, vagyis a tömörített kép minősége és mérete közötti választás jogát. Természetesen minél jobb a képminőség nagyobb tömörítési arány mellett, annál jobb az algoritmus.

Fourier transzformáció. Általános esetben a képet két változó függvényének tekinthetjük, amelyek a végső raszter pontjain vannak definiálva. Az ilyen függvények halmaza egy rögzített véges raszter pontjain véges dimenziós euklideszi teret alkot, és rájuk alkalmazható a diszkrét Fourier-transzformáció, azaz a kép spektrális reprezentációja. Ez biztosítja:

A spektrum együtthatók korreláció nélkülisége és függetlensége, azaz az egyik együttható ábrázolásának pontossága nem függ a másiktól.

- Energia tömörítés. A transzformáció az alapinformációkat kis számú együtthatóban tárolja. Ez a tulajdonság leginkább a fotorealisztikus képeken jelenik meg.

A spektrális reprezentációs együtthatók a kép térbeli frekvenciáinak amplitúdói. A zökkenőmentes átmenetű képek esetében az információ nagy része az alacsony frekvenciájú spektrumban található.

A JPEG formátumban használt tömörítési algoritmus a diszkrét koszinuszos Fourier transzformáción alapul. Az algoritmusban a tömörítési séma egy pipeline, ahol ez a transzformáció csak az egyik, de az egyik fő szakasza. Az algoritmus a következő fő műveleteket tartalmazza:

1. Váltson át az YCbCr színtérbe. Itt Y a luma komponens, Cb és Cr a krominancia komponensek. Az emberi szem érzékenyebb a fényességre, mint a színekre. Ezért fontosabb a nagyobb pontosság fenntartása Y továbbításakor, mint Cb és Cr átvitelekor.

2. Diszkrét koszinusz transzformáció (DCT). A kép 8 × 8 blokkra van felosztva, és mindegyik blokkra diszkrét koszinusz transzformációt alkalmazunk (külön az Y, Cb és Cr komponensekhez).

3. Nagyfrekvenciás komponensek csökkentése DCT mátrixokban. Az emberi szem alig észleli a nagyfrekvenciás komponensek változását, ezért a magas frekvenciákért felelős együtthatók kisebb pontossággal tárolhatók.

4. Mátrixok cikcakk rendezése. Ez egy speciális mátrixpassz egydimenziós sorozat létrehozásához. Először jön a T00 elem, majd a T01, T10, T1. Ráadásul a tipikus fotorealisztikus képeknél először a kisfrekvenciás komponenseknek megfelelő nullától eltérő együtthatók lesznek, majd sok nulla (nagyfrekvenciás komponens).

5. Tömörítés először RLE, majd Huffman módszerrel.

A kép-helyreállítási algoritmus fordított sorrendben működik. A tömörítési arány 5-100 vagy több. Ugyanakkor a legtöbb fotorealisztikus kép vizuális minősége jó szinten marad akár 15-ször tömörítve. Az algoritmus és a formátum a legelterjedtebb a színes képek átvitelére és tárolására.

Wavelet transzformáció jelek a klasszikus Fourier-transzformáció általánosítása. A "wavelet" (wavelet) kifejezés angol fordításban "kis (rövid) hullámot jelent". A hullámok egy bizonyos alakú matematikai függvénycsaládok általános elnevezése, amelyek időben és gyakoriságban lokálisak, és amelyekben minden függvény egy alapfüggvényből származik, annak időtengely mentén történő eltolásával és kiterjesztésével.

A veszteséges tömörítési algoritmusokban általában a tömörítési csővezeték összes művelete megmarad, ha a diszkrét Fourier-transzformációt diszkrét wavelet transzformációra cserélik. A Wavelet transzformációk nagyon jó frekvencia-térbeli lokalizációval rendelkeznek, és ebben az indikátorban felülmúlják a hagyományos Fourier transzformációkat. Ebben az esetben lehetővé válik erősebb kvantálás alkalmazása, javítva a sorozat tulajdonságait a későbbi tömörítéshez. Az ezen az átalakításon alapuló képtömörítési algoritmusok azonos tömörítési arány mellett jobb eredményeket mutatnak a képminőség megőrzésében.

irodalom

46. ​​et al. Gyors algoritmusok a digitális képfeldolgozásban. - M.: Rádió és kommunikáció, 1984. - 224 p.

47. Soyfer képfeldolgozás. 2. rész. Módszerek és algoritmusok. - Soros Nevelési Lap 1996. 3. szám.

48. Porczaj képekből nemlineáris algoritmusok alapján rangstatisztikát használva. - Jaroszlavli Állami Egyetem, 2007.

49. Andreev televíziós megfigyelőrendszerek. rész II. Aritmetika - logikai alapok és algoritmusok. Oktatóanyag. - Szentpétervár: Szentpétervár, GUITMO, 2005. - 88s.

51. Bevezetés a digitális jelfeldolgozásba (matematikai alapok) - M.: Moszkvai Állami Egyetem, Számítógépes Grafikai és Multimédia Laboratórium, 2002. - http://pv. *****/dsp/dspcourse. pdf, http://dsp-book. *****/dspcourse. djvu, http://geogin. *****/archiv/dsp/dsp4.pdf.

1i. és a rasztergrafika egyéb algoritmikus alapjai. – Internetes Információs Technológiai Egyetem. – http://www. *****/goto/course/rastergraph/

2i. Lukin-Electronic Systems: Előadásjegyzetek. ITMO, 2004. - Szentpétervár, ITMO IFF, 2004. - http://iff. *****/kons/oes/KL. htm

Az észrevett hibákról és kiegészítési javaslatokról: *****@***ru.

szerzői jog©2008DavydovDE.V.

1. labor

Képfeldolgozási algoritmusok

Konvolúciós művelet

A konvolúció egy nagyon tág algoritmus, amely mind kép-előfeldolgozásra, mind tárgyfelismerésre és -azonosításra használható. Adja meg a képet egy kétdimenziós fényerő mátrix F" , és az impulzusválasz mátrix H. Mátrix matematikai konvolúciója F maggal H a következő képlettel definiálható:

ahol M2xN2 - a konvolúciós kernelmátrix mérete. Mátrix mérete F egyenlő (M1+M2-1)x(N1+N2-1), ahol M1xN1 - az eredeti mátrix mérete F" . A Mátrix Fúgy nyerjük ki az eredetiből, hogy valamilyen szabály szerint a mátrix szélein elemeket adunk hozzá, hogy a kívánt méretre hozzuk. Általában az eredeti mátrix szélein a mátrix szélességének felében nullákkal vannak kitömve. H balra és jobbra, illetve a magasság fele felfelé és ugyanannyi lefelé. Ezután a kapott mátrix mérete R ugyanaz lesz, mint a mátrix F" .

A konvolúciót közvetlenül ki lehet számítani az egyik mátrix "futtatásával" a másikon, amint azt fentebb már bemutattuk. ábrán Az 1. ábra a konvolúció kiszámításának sémáját mutatja (a maszkmátrix mérete 3x3). A konvolúciós operátort együtthatók (maszkok) mátrixaként tekinthetjük meg, amelyeket elemenként megszoroznak a kiválasztott képrészlettel, majd összegzést végeznek a szűrt képelem új értékének meghatározásához. Ez a mátrix tetszőleges méretű lehet, nem feltétlenül négyzet alakú.

Rizs. 1. A konvolúciós művelet végrehajtása.

A feladat

    Valósítson meg egy olyan algoritmust, amely az eredeti kép konvolúcióját hajtja végre mátrixmaszk segítségével.

    A mátrixmaszk méretét és típusát a felhasználó állítja be.

    Használja a következő maszkmátrixokat különböző képfeldolgozó algoritmusok megvalósításához:

    • a kép zajának simítására és elnyomására a következő formájú 3x3-as mátrixmaszkot használjuk:

    a kontúrok kiemelésére a következő formájú mátrixmaszkokat használjuk:

1/9*

    A kontúrok kiválasztásához a következő űrlap maszkja használható:

4. Valósítson meg egy medián szűrőt, amely a pont- és impulzuszaj elnyomására szolgál. A vizsgált területen lévő képpixel és szomszédai variációs sorozatba kerülnek (növekvő vagy csökkenő pixelértékekben), és ennek a variációs sorozatnak a központi értéke kerül kiválasztásra új pixelértékként. Az átlagos szűrés eredménye, hogy a képen található véletlenszerű zaj hatékonyan megszűnik. Ennek az az oka, hogy a pixelintenzitás bármely véletlenszerű hirtelen változása a vizsgált régión belül rendezve lesz, azaz. az adott régióban a rendezett értékek tetejére vagy aljára kerül, és nem számít bele, mivel mindig a középső érték kerül kiválasztásra az új elemértékhez.

5. Valósítsa meg a dombornyomó algoritmust. A domborítás az átlagoló vagy éljavító algoritmusokhoz hasonló módon történik. A kép minden képpontját egy 3x3-as dombornyomó mag (mátrix-maszk) dolgozza fel. Dombornyomó magként például a következő maszkmátrixot használhatja:

Miután a pixelértéket a dombornyomó motor feldolgozta, 128-at adunk hozzá, így a háttér pixeleinek értéke az átlagos szürke szín lesz (piros = 128, zöld = 128, kék = 128). A 255-nél nagyobb összegek 255-re kerekíthetők.

A kép dombornyomott változatában úgy tűnik, hogy a kontúrok a felület fölé extrudáltak. A képkiemelés iránya a kernel 1. és -1. pozíciójának megváltoztatásával változtatható. Ha például az 1 és -1 értékeket felcseréljük, akkor a háttérvilágítás iránya megfordul.

6. Kép ​​vízfestése. Az akvarellszűrő átalakítja a képet, és feldolgozás után úgy néz ki, mintha akvarellel írták volna:

    Az akvarellszűrő alkalmazásának első lépése a kép színeinek kisimítása. A simítás egyik módja a színátlagolás alkalmazása minden ponton. Az egyes pixelek színértéke és 24 szomszédja (a mátrixmaszk mérete 5x5) variációs sorozatokba rendeződik, csökkenő vagy növekvő sorrendben. A variációs sorozat medián (tizenharmadik) színértéke a központi pixelhez van rendelve.

    a színek kisimítása után éljavító szűrőt kell alkalmazni a színátmenetek szegélyeinek kiemeléséhez.

Képábrázolás

A képábrázolásoknak két fő típusa van – vektoros és raszteres.

A vektoros ábrázolásban a képet vonalak (vektorok) halmaza írja le, amely tartalmazza a kezdő- és végpont koordinátáit, a vonalak görbületét és egyéb geometriai jellemzőket, a különböző régiók és színjellemzők felépítésének szabályai a következők: is leírták. Más szavakkal, a raszteres ábrázoláshoz valamilyen matematikai modell kialakítása szükséges. Ezért a vektoros ábrázolást elsősorban a képszintézis problémáinak megoldására használják. Bár egyes képfelismerő algoritmusok munkájukhoz vektoros ábrázolást igényelnek, amit az eredeti képből kell megszerezni.

A raszteres kép egy vagy több mátrix, amely leírja a képjellemzők térbeli eloszlását egy bizonyos derékszögű koordináta-rácson. Ebben az esetben a kép pontok halmazából épül fel, és raszteres szerkezetű. A kép raszteres ábrázolásának fő eleme egy pixel (a "képelemek" kifejezés rövidítése - képelemek), amelynek raszteres koordinátarendszerben vannak koordinátái és néhány attribútuma (szín, fényerő, átlátszóság stb.). Az X és Y koordináták mentén (vízszintesen és függőlegesen) lévő pixelek száma határozza meg a képábrázolás felbontását (dimenzióját). Egy pixel színét a mélysége adja meg, ami a szín megadásához szükséges bitek száma.

A raszterképek a pixel színének beállítási módszerétől és az eredeti kép tulajdonságaitól függően a következőkre oszthatók:

Bináris

Féltónus

Paletta

teljes szín

A bináris ábrázolásban egy pixel színe lehet fehér vagy fekete, és egy bitben van kódolva. A kép egy mátrix. Ennek a mátrixnak minden I (i , j ) eleme 0 vagy 1 értékű, ahol i a sorszám, és az adott pixelnek megfelelő elem j oszlopának száma (1. ábra).

A szürkeárnyalatos képeken a képpontok a szürke árnyalatainak megfelelő fényerőértékeket jelölik. A féltónusos képet leíró mátrix indexek határozzák meg a pixel pozícióját a raszteren és a mátrix elem értékét.

- beállítja a fényerejét I (i, j) (2. ábra).

A palettaképeket két mátrix írja le (3. ábra). Az egyik tárolja az indexek értékeit, amelyek meghatározzák a paletta mátrix sorához való hozzáférést. A palettamátrix egy színes térkép. 3 oszlopcsoportot tartalmaz - a piros "R", zöld "G" és kék "B" színeknek megfelelően. Beállítják a megfelelő pixel színét.

A paletta egy Nc 3 mátrix, ahol Nc a színek száma.

Kép-előfeldolgozási algoritmusok

A színes képek RGB formátumban épülnek fel, és három R (i , j ), G (i , j ), B (i , j ) mátrixot képviselnek. Az egyes mátrixok megfelelő elemei a mátrixindexek által meghatározott pixel piros, zöld és kék színének intenzitásértékeit tartalmazzák. Így egy színes képnek nincs színtérképe, és az egyes pixelek színét a megfelelő mátrixokból vett három szám ábrázolja (4. ábra).

A mátrixokban lévő számok formátuma egész vagy lebegőpontos lehet. Az első eset az úgynevezett digitalizált képekre vonatkozik, amelyeket különféle eszközökkel - szkennerekkel, digitális fényképezőgépekkel, televíziós kamerákkal stb. Ebben a formátumban tárolják a képekkel kapcsolatos információkat a szabványos grafikus fájlok.

A második lehetőség a képek belső megjelenítésére szolgál feldolgozásuk során. Ebben az esetben célszerű az intenzitásadatokat egy tartományra normalizálni, például a tartományra, és különféle számításokat végezni lebegő számokkal, majd az eredményt az eredeti egész alakra konvertálni. Ez a módszer lehetővé teszi a számítási hibák csökkentését és a feldolgozási eredmény pontosságának javítását.

Színes képek esetén az egyik lehetőség az adott formátumban megjeleníthető színek maximális száma. A leggyakrabban használt képek 16, 256, 65536 (High Color) és 10,7 millió (True Color) színnel rendelkeznek.

Kép-előfeldolgozási algoritmusok

0 0 0 0 1 1 1 0 0

120 122 125 128 115 117 118

1 0 0 0 1 1 1 1 0

119 121 124 125 128 130 133

1 1 0 0 1 1 0 0 1

122 122 124 123 127 126 128

120 121 123 125 127 125 126

1 1 1 0 1 1 0 0 0

118 110 109 108 108 109 110

0 0 1 0 0 1 0 0 1

Kép-előfeldolgozási algoritmusok

Index Mátrix

31 15 03 09

palettamátrix

Kép-előfeldolgozási algoritmusok

A színes kép nem csak RGB formátumban, hanem más színrendszerek használatával is megjeleníthető.

A HSB rendszerben a színt a következő színjellemzők képviselik: Hue - színtónus;

Telítettség - telítettség; Fényerő - fényerő.

Úgy gondolják, hogy ez a színrendszer megfelel az emberi színérzékelés sajátosságainak.

A LAB rendszerben a színt a fényerő (világosság) és két független színérték kombinációjának tekintik, amelyek meghatározzák a pixel valódi színét. Színesség A - a színösszetevő a bíbortól a zöldig terjedő tartományban van kiválasztva. B színezés - a második színkomponens a sárgától a kékig terjedő tartományból van kiválasztva.

Vannak más színmegjelenítési rendszerek is. Természetesen ezek mind összefüggenek, és az egyik ábrázolásból egy másik is előállítható. A színrendszerek változatossága a segítségükkel megoldott feladatoknak köszönhető. Például kényelmesebb a színkorrekció végrehajtása a LAB rendszerben, a kép reprodukálása a monitor képernyőjén az RGB rendszerben, jobb a nyomtatás,

Kép-előfeldolgozási algoritmusok

CMYK reprezentáció használatával. A képek feldolgozása és felismerése során azonban minden esetben egy vagy több mátrixot tartalmazó képek raszteres ábrázolásával dolgoznak.

Az előfeldolgozó algoritmusok osztályozása

A kép-előfeldolgozó algoritmusok az osztályozási jellemzőtől függően különböző csoportokra vannak osztva. Minden előfeldolgozó algoritmusnak vagy valamilyen módon javítania kell a képek minőségén, vagy olyan formára kell alakítania, amely a későbbi feldolgozáshoz a legkényelmesebb.

A kép színvisszaadását javító algoritmusokat színkorrekciós algoritmusoknak nevezzük. Ebbe a csoportba tartoznak azok az algoritmusok is, amelyek olyan szürkeárnyalatos képekkel dolgoznak, amelyek megváltoztatják fényerejüket és kontrasztjukat.

A képek térbeli jellemzőinek feldolgozását célzó algoritmusokat algoritmusoknak nevezzük térbeli szűrés. Ebbe a csoportba tartoznak a zajelnyomó algoritmusok, a térbeli simító algoritmusok és a térbeli erősítési algoritmusok, valamint a térbeli frekvenciák elnyomására és erősítésére szolgáló algoritmusok.

A képen geometriai műveleteket végrehajtó algoritmusokat nevezzük geometriai feldolgozási algoritmusok. Ezek tartalmazzák:

Kép-előfeldolgozási algoritmusok

Kép kivágása - egy téglalap alakú bizonyos részének kiválasztása az eredeti képből;

Kép átméretezése. Ezek az algoritmusok különféle interpolációs módszereket használnak a hiányzó képpontok helyes kitöltésére a kinagyított képen, vagy a kép kicsinyítésekor újraszámítják a pixelértékeket.

Képforgatás. Ezek az algoritmusok egy adott szögben elforgatják az eredeti képet, és különböző interpolációs módszerekkel helyesen újraszámolják a pixelértékeket.

Az egyik színrendszerből a másikba transzformációt végrehajtó algoritmusokat nevezzük színkonverziós algoritmusok. Tartalmaznak továbbá algoritmusokat a színes képek szürkeárnyalatossá alakítására, valamint olyan binarizációs algoritmusokat, amelyek az eredeti képet binárissá alakítják.

Azokat az algoritmusokat, amelyek az eredeti kép egyes területeit különféle, gyakran informális feltételek szerint választják ki, szegmentációs algoritmusoknak nevezzük. Ilyen algoritmus lehet például egy olyan algoritmus, amely a dokumentum képén a szöveg és a grafikus információ területeit emeli ki, vagy egy olyan algoritmus, amely kiemeli a szövegkép egyes szavakhoz tartozó részeit.

Kép-előfeldolgozási algoritmusok

Térbeli szűrési algoritmusok

Egy kép matematikai formában történő térbeli szűrése egy diszkrét kép diszkrét konvolúciója egy térszűrő bizonyos impulzusválaszával

Ha (i, j)

Im(i m , j n )h (m , n ), ahol:

m N11 n N21

Im, Ha az eredeti és a szűrt képek mátrixai, h a szűrő impulzusválaszának mátrixa,

N 11 , N 21 az impulzusválasz oszlopok alsó és felső határa, N 12 , N 22 az impulzusválasz sorok bal és jobb határa.

Az impulzusválasz mátrixot a megadott paraméterek alapján a térszűrő kiszámításával kaphatjuk meg. A digitális szűrésről szóló nagy mennyiségű irodalmat szentelnek például a térszűrők számítási módszereinek. A gyakorlati számításokhoz szabványos matematikai csomagokat használhat, például a „MATLAB” rendszer tartalmazza az „Image Filter Design” szűrőszámítási rendszert.

Vegye figyelembe, hogy a szűrés a frekvenciatartományban is végrehajtható. Abban

Kép-előfeldolgozási algoritmusok

Ebben az esetben a szűrési sorrend a következő:

Konvertálja a képet térbeliből frekvenciatartományba 2D diszkrét Fourier transzformáció segítségével

Végezze el a kép frekvenciamátrixának elemenkénti szorzását a szűrő frekvenciamátrixával

A kapott eredményt az inverz kétdimenziós diszkrét Fourier-transzformáció segítségével térbeli tartományba konvertáljuk.

Im(x,y)

im(f x , f y )

Ha (f x , f y ) Im(f x , f y ) H (f x , f y )

Ha (fx , f y )

Ha (x, y).

A frekvenciatartományban lévő képek szűrését ritkán használják a számítások nagy mennyisége miatt. Ezt a szűrési módszert azonban széles körben alkalmazzák az elméleti számításokban a képfeldolgozási lehetőségek elemzése során. Lehetővé teszi, hogy világosan látható legyen, milyen szűrésre van szükség. Például, ha ki kell emelnie egy képen a fényerő éles változásait, akkor nyilvánvaló, hogy felüláteresztő szűrőket kell használnia. Éppen ellenkezőleg, ha meg kell szabadulnia az alacsony frekvenciájú zajoktól - remegő áramkörök, egyedi csúcsok stb., akkor aluláteresztő szűrőket kell használnia. A konkrét szűrőparaméterek kiválasztása az interferencia frekvenciaelemzése és az eredeti kép tulajdonságai alapján történik.