Képfeldolgozás.
Bevezetés.
A képfeldolgozás jelentőségét aligha kell hosszasan magyaráznunk. A meteorológiai műholdak felvételeit emészthető formába ravasz algoritmusok hozzák, - mi csak azt látjuk a TV híradóban, hogy a tornádók valószínűleg elkerülnek bennünket. - A komputer-tomográf koponya felvételei pedig esetleg arról tájékoztatják a kezelőorvost, hogy nem szükséges agytumorral kezelni bennünket. - A képfeldolgozás eredményeiből nap mint nap mindannyian részesedünk.
Nemcsak a szokásos értelemben vett képek dolgozhatók fel, hanem igen sok mérési, adatgyűjtési eredmény jeleníthető meg absztrakt képek formájában is. De mit nyerünk ezekkel a képekkel? A képfeldolgozási szakma egyik legnagyobb hajtóereje abban rejlik, hogy "humán komputerünk" képfeldolgozás-orientált, vagyis az agyunk kivételesen jól felkészült a képi információ gyors fogadására, felismerésére, feldolgozására. – Szemünk rendkívül értékes “átalakító”, rengeteg csapocskájával és pálcikájával. Ezt az adatzuhatagot egy többlépcsős feldolgozórendszer alakítja számunkra értelmezhető alakra, esetleg emlékképek formájában el is raktározza.
A komputeres grafikának, illetve képfeldolgozásnak számos nagy fejezete/feladata létezik. A teljesség igénye nélkül néhány fontosat felsorolunk:
- drótvázas modellek (pl. egy épület élvonalas vázlatának) forgatása, megtekintése különböző helyzetekből. (A háttérben gyors és hatékony koordináta transzformáció lapul.)
- komplex objektumok ábrázolása. Lehet, hogy a tárgy axonometrikus képére vagyunk kíváncsiak, de az is lehet hogy egy molekulaszerkezeti kép kapcsán árnyalt gömbök egymáshoz képesti elhelyezkedését keressük. - Felhívjuk a figyelmet arra, hogy komplex testek esetén az ún. láthatóság kérdésköre is előkerül. Melyik él és térrészlet látható, mi az, amit az előtte lévők eltakarnak? A matematikai probléma ismét a koordináta transzformáció, - és egy működőképes láthatósági algoritmus megtalálása, számítógépes realizálása. Az ún. ray-tracing (sugár-követés) módszerével eszköz került a kezünkbe arra, hogy árnyékok, tükröződések is megszerkeszthetők legyenek.
- nagy probléma a fénykép/kamera felvételek kiértékelése, feldolgozása. Itt lényegében egy kétváltozós függvény jellegzetességeit keressük, (független változó a képpont helye) addig dögönyözve az adatokat, míg kívánalmainknak meg nem felelő részképet kapunk.
Kereshetünk adott formát, pl. egy rakéta, vagy egy specifikus sejt képét. Ez esetben sokszor használják a Fourier transzformációs, konvolúciós módszereket.
Kíváncsiak lehetünk egy adott intenzitásérték, szín elhelyezkedésére, relatív súlyára. Gondoljunk arra, hogyan is lehetne űrhajó felvételekből meghatározni a várható mezőgazdasági terméseredményt mondjuk Kazahsztánban.
Igen érdekes eredményeket adnak az ún. mesterségesen színezett képek a legkülönbözőbb szakterületeken. Itt a mért intenzitás értékeket alakítják át színekké, ami formák, alakzatok könnyű felismerését teszi lehetővé. Lehetséges az is, hogy mindössze a kép felvételénél "elkövetett" hibákat akarjuk csökkenteni. Ilyen hibák adódhatnak a nem megfelelő blendenyílásból, az egymáshoz képest mozgó kamera és tárgy “maszatoló” hatásából, stb.
A képfeldolgozás, mint fiatal technika/tudomány nagy irodalmi háttérrel rendelkezik. Sok bonyolultnak számító matematikai ötlet is alkalmazásra kerül benne, - a megértéshez, az elmélyedéshez eléggé sok idő és munka szükséges. A magyar nyelvű irodalom eléggé szerény, az érdeklődőknek az angol nyelvűhöz tanácsokat tudunk adni. – A képfeldolgozással kapcsolatos elemi ismeretekkel a Jelfeldolgozás tantárgy foglalkozik.
A mérési gyakorlat eszközei.
Ez a foglalkozás nem "mérés" az egyetemen megszokott értelemben. Itt ugyanis nem az a fontos, hogy milyen számszerű eredményeket tud valaki produkálni, vagy reprodukálni. Az elsődleges cél a kitűzött feladatok elvégzése, és ennek kapcsán az "elcsodálkozás", a tapasztalatok alapján pedig valamelyes benyomás szerzése arról, hogy mi is a "képfeldolgozás". - Ezért aztán ez a leírás sem tér ki minden részletre, hanem csupán irányokat jelöl ki a munkaidő hasznos eltöltéséhez.1 ábra
Az IBM PC kompatibilis számítógépen három programot kell használni.
Ez a program elsősorban képek és fényképek látványos manipulációjára készült, nem pedig az ún. képfeldolgozásra, amelyik bonyolult matematikai, elméleti ismereteket is felhasznál. – A kérdéses programnak egy régebbi, angol nyelvű változatát használjuk (V. 3.0), amelyiknek tárolóigénye mérsékelt. Az újabbak sokkal többet tudnak, de rengeteg helyet foglalnak és drágák. – A PHOTOSHOP számos magántulajdonban lévő gépen megtalálható, van magyar változata is. Gyakorolni, felkészülni tehát viszonylag egyszerűen – akár “otthon is ”- lehet.
3. A konfigurációból elérhető a "Paintbrush" program is. Ez közismert, egyszerű, de igen jól használható rajzoló rendszer, a WINDOWS standard lehetőségei közül. Feltesszük, hogy ezt már mindenki használta, ismeri.
A mérési jegyzőkönyv nem papírra, hanem számítógépre kerül. Ennek oka elsősorban az, hogy a Laboratórium kinyomtatási lehetőségei eléggé szűkösek, és minőségük sem teszi lehetővé a képek megfelelő kiértékelését.
Alapfogalmak.
Hisztogram
A kép elemi pontok (pixelek) halmaza. Kétváltozós függvényeknek tekinthetjük őket: az
x és y értékek a pixel helyének derékszögű koordinátái, amelyek mindegyikéhez színintenzitás érték (i) tartozik:i = f(x,y)
A színes pixelek megadásához az R-G-B színek világosság értékei kellenek. Az ún. szürke skálájú képek pixeleinek jellemzéséhez egyetlen szám is elegendő, amelyik a teljesen fehér és a teljesen fekete közötti átmenetet fejezi ki. Az intenzitás értékek ez esetben általában 0 – 255 közöttiek, illetve ezeket néha százalékban adják meg. - A kizárólag fehér-fekete képek nyilván egyszerűbbek, itt egy pixel jellemzésére egyetlen bit is elegendő. A megszokott képek lényegében domborzati viszonyokat ábrázolnak, - az alapvonaltól mért magasságot a világosság érték fejezi ki. – A bal oldali, 2. ábrán egy fénykép két különböző “magasságához” tartozó “szintvonalait” mutatjuk be, illusztrálva a “terepviszonyokat”.
A PHOTOSHOP képernyőjén az egyes pixelek színértékeit közvetlenül láthatjuk. Az INFO ablakban megjelennek a kurzor koordinátái és a színértékek is, - ezek közvetlenül leolvashatók. (A C-M-Y-K rendsz
erben a kék-bíbor-sárga-fekete színértékek láthatók. Ez a színfelbontás a nyomdaipari konvenciókhoz alkalmazkodik, -mivel itt a fekete színnek fontos szerepe van.)A képek egyik legfontosabb átfogó jellemzője az ún. hisztogram (3 ábra). Ennek készítésekor mindegyik képpontot megvizsgálják, majd a szürkeségi értéküknek megfelelő tároló hely tartalmát eggyel megnövelik. A hisztogram tehát a szürkeség értékek eloszlásáról tudósít (arról pl. hogy mennyire vannak a kép ábrázolási lehetőségei – tónusai – kihasználva, hol vannak a csúcsok, stb.). – A hisztogram nagyon fontos ismeretet ad a további műveletekhez.
A szürkeségi skála és módosítása
A szürkeségi skála módosítása nagyon fontos eszköz a képek kiértékelésében. – A 4. ábra alapján képzeljük el, hogy van egy transzformációs táblázatunk (a bemenet- kimenet kapcsolatot leíró transzfer függvényünk), amelyben elő tudjuk írni, hogy az aktuális kép szürkeség-skáláját hogyan módosítsuk. Az ábrák vízszintes tengelyén a jelenlegi (lineáris) szürkeség értékek találhatók, a függőleges tengelyen pedig a módosított skála látható. – Ha az a.) ábra szerinti skálát használunk, akkor a kép változatlan marad. Ha a b.) szerinti transzformációt választjuk, akkor a kép negatívját állítjuk elő.
Példák a szürkeségi skálákra
. – A c.) ábra szerint az eredeti szürkeség skálának bizonyos szakaszát majdnem feketére választjuk, - az összes egyéb érték helyett világos színt kapunk. Ezzel nagyon fontos eszköz kerül a kezünkbe: a kép egy szürkeség értékkel meghatározott részét kiemelhetjük vagy eltüntethetjük.
Az 5. ábrán az eredeti kép mellett annak hisztogramját is feltüntettük.. – Ha csak a sötét részeket emeljük ki, akkor a jobboldali ábra szerinti képet kapjuk
Kiemelés a szürkeségi skála megváltoztatásával
Konvolúciós módszerek
Egyváltozós függvények esetében a konvolúció két függvény szorzatának integrálja, - az egyik függvény azonban a másikhoz képest egy paraméter függvényében el van tolva. (Lásd: Bagoly – Csákány: Jelek feldolgozása p. 16.)
A kétdimenziós képeknél az f(x,y) kép egészén végig kell tolnunk egy g(x,y) sablont/maszkot– és minden pixelnél ki kell értékelnünk a szorzatok összegét.
A PHOTOSHOP maximálisan egy 5 x 5 mátrixot “konvolvál”, - vagyis a kép minden pixeléhez kiszámítja a konvolúció értékét. A mátrix elemeinek egész értékeket adhatunk, - ezzel szorozzuk az egyes pixelek intenzitás értékeit.
(Úgy kell elképzelnünk, hogy a mátrix “középpontját” ráhelyezzük sorban a kép minden egyes pixelére és kiszámítjuk a fent megadott összeget. – A kép széleinél természetesen valami trükkhöz kell folyamodnunk, pl. az alsó-felső jobb-bal éleket egymás mellé helyezzük. – Az egész eljárás nagyon hasonlít az ún. életjáték szabályaihoz.)
Ha a mátrixot jól választjuk meg, meghökkentő eredményekhez juthatunk. A 6. ábra szerinti értékválasztással az egyes pixelek környezetének intenzitásváltozásait “összegezzük”, vagyis lényegében a bármely irányú változást regisztráljuk. (Az üres négyzetek értéke zérus.) Vegyük észre, hogy a mátrix a vízszintes és függőleges irányokhoz tartozó, négy darab (1, -1) egymás melletti komponensből áll. (Lásd: Jelek feldolgozása, digitális szűrők “differenciálás” fogalma.) A két változó szerinti differenciálás a képfeldolgozási szakmában az ún. élkiemelés nevet kapta. – Természetesen léteznek erre a célra kiélezettebb, jobb mátrixok is.
Arra is van lehetőség, hogy az 5 x 5 mátrixba egy betű “alakjában” írjuk be a súlyfaktorokat, pl. mindegyiket 1 – nek választva. Ilyenkor a konvolúció akkor ad maximális értéket, ha a mátrix éppen egy ilyen betűt fed le.
Ezzel a viszonylag egyszerűnek tűnő algoritmussal alakzatokat tudunk felismerni. Természetesen ezek nem csupán betűk, hanem bármilyen absztrakt képelemek lehetnek.
Műveletek képekkel
A képek kombinációi sokfajta alkalmazást tehetnek lehetővé. – A PHOTOSHOP változatos menüt kínál: az intenzitásokra vonatkozó összeadás, kivonás és szorzáson kívül lehetőség nyílik a sötétebb, illetve a világosabb képrészletek összevonására is, stb.
A képek különbségét felhasználhatjuk pl. a mozgások detektálására, vagy az olyan fontos orvosi alkalmazásra, amikor két röntgenfelvétel készül, - az egyik normál állapotban, a másik pedig valamilyen kontrasztanyag bevitele után.
Feladatok
Figyelem !
Nem kell papíron jegyzőkönyvet készítenie, - az eredményeket a komputer diszkjére mentse el. Ez részben kényelmes, de némi kockázattal is jár. Vigyázzon, ne rontson el semmit !!!!A használandó és használható könyvtárak jegyzéke a mérés mellett található leírásban található.
A leírás figyelmesen elolvasandó és szigorúan betartandó !!!!
Az eredmény kép - file-ok legyenek JPG kiterjesztésűek, - maximális képminőségűek.
.
1. A gyakorlatvezető segítségével készítsen videofelvételt, amelyiknek egy – alkalmasnak ítélt –
kimerevített képét rögzítse az XY0.JPG file-ban.Indítsa el a PHOTOSHOP programot. A képernyőn látni kell az INFO és COMMAND ablakokat. Hívja be az előbb tárolt arcképet.
2. Alakítsa át ezt szürke tónusú képpé (MODE, GRAYSCALE). Mentse el ezt XYG.JPG néven. - Mozgassa a cursor –t és figyelje meg az info ablak adatainak változásait.
3/a. a képmanipulációk jellegének megértése céljából kísérletezzen az (IMAGE Histogram) -(IMAGE MAP – theshold, posterize,) - (IMAGE ADJUST - levels, curves, brightness) - lehetőségekkel
Használja az INFO ablak Undo opcióját, hogy a vizsgált képet ne kelljen minden alkalommal behívnia !!!!
3/b. Hívja be az 1LETTER.JPG képet, amelyiken különböző szürke tónusú betűk ábrái találhatók. Alakítsa át a képet úgy, hogy csak a gyakorlatvezető által megadott betű legyen látható.
(Histogram, majd IMAGE ADJUST, Curves) Az eredményt mentse el az XYL.JPG file-ba.3/c. Próbáljon ki néhányat a FILTER felkínálta lehetőségekből az XYG.JPG képen. Mindenképpen nézze végig a DISTORT részfu
nkcióit. – Készítsen magáról “kellemesnek” ítélt torzított képet és mentse el azt XYD.JPG néven.3/d. Magyarázza el néhány mondatban, esetleg néhány képlettel, mi lehet a torzításhoz választott opció lényege. (Készítsen egyszerű ábrát 2-3 függőleges és vízszintes vékony vonallal és figyelje meg, hogy a torzítási funkció hogyan módosítja őket.)
A feljegyzéshez hívja be START - PROGRAM – ACCESSORIES – NOTEPAD –et. Ebben ékezet nélküli betűkkel írhat. A képletek írásához használja a DERIVE program eljárásait. Ehhez segítséget talál a Függelékben.
A leírást mentse el az XYL1.TXT file –ba.
3/e. Készítsen magáról “ceruza rajzot”. (IMAGE STYLIZE Find Edges, majd IMAGE ADJUST Curves) Tegye el a képet a XYP.JPG néven. (Egy példa a 7. ábrán látható.)
4. Két képpel végrehajtott műveletek.
A képek nem teljesen valódiak, - de a tényleges viszonyokat jól mutatják.
Hívjuk be az 1ANGS.JPG és az 1ANGV.JPG képeket. – Az IMAGE Calculate lehetőségei közül válasszuk az ADD opciót. A két kép bármelyike invertálható, - keressük meg azt az ábrát, amelyiken csak az érrendszer látszik. – Ezt az ábrát a szürkeség skála segítségével módosítsuk egészen feketére.
Mentsük el ezt az ábrát XYA.JPG néven.
Az érrendszer képének kis részletét a 8. ábrán mutatjuk meg.
3/b. Saját arcképéről készítsen kicsit “shiftelt” változatot, - mintha felvétel közben elmozdult volna a kamera. (Ehhez a FILTER OTHER OFFSET – ben állítson be pl. x = y = 3 értéket. Ez a pixeleket pont ilyen mértékben fogja arrébb tolni.) - A fenti módszerrel készítsen különbségi képet (“differenciálunk” ?!) és ennek gradációját úgy állítsa be, hogy a kép emlékeztessen a 3/e. pont szerinti ceruzarajzra. – A képet tegye el XY2.JPG néven.
4/a. Először a konvolúciós mátrix hatását vizsgáljuk. Készítsen egy új rajzlapot: 30 x 30 pixel méretűt, szürke skálájút (NEW). Ezt az eléggé kicsike felületet nagyítsa fel 16 – szorosára a WINDOW ZOOM FACTOR opcióval.
Ebben a nagyításban egypixeles vonalvastagsággal lehet rajzolni a LINE TOOL felhasználásával. (Width = 1, az Anti aliasing ne legyen bejelölve.) – Készítse el a 9. ábrán látható vizsgáló-minta másolatát. Nem kell pontosan ugyanilyennek lennie, csak a formák lényegét kell megőrizni. – Állítsa vissza a ZOOM FACTOR értékét 1 – re, – bélyeg méretű ábrát fog látni. Mentse el azt az XYT.JPG file-ba, - lehet, hogy még szüksége lesz rá, ha a további kísérletekben az ábra megsérül.
A FILTER OTHER CUSTOM opció mátrixa pixelenként hatásos, - ezért kellett ugyanilyen felbontású ábrát készíteni. Írja be egyesével és figyelje meg alaposan a megadott egyszerű “mátrixok” hatását (10. ábra). (Az offset optimális értékét meg kell keresni, - kezdetben célszerű 128 – ra választani.)
Írja le röviden, hogyan lehetne ezek hatását megfogalmazni, és rögzítse a XYT.TXT file – ban. Tegye el az élkereső mátrix hatására keletkező képet is az XYE.JPG file – ba.
Vizsgálja meg, hogy mi történik az XYG.JPG képpel, ha az élkeresést egymásután többször elvégzi (a CTRL –F billentyűk megnyomására a legutóbbi FILTER funkció ismét végrehajtódik).
4/b. Megkíséreljük egy adott betű megkeresését (a gyakorlatvezető adja).
Hívjuk be a 1LETTERS.JPG file-t. Nagyítsuk meg 16 –szorosára. A konvolváló mátrixot (maszkot) a keresendő betű szerint adjuk meg (a betük pixelenkénti képe az ábráról leolvasható).
Válasszuk a “scale” értékéül a mátrixban szereplő egyesek számát, offset értékét pedig az ábra megfigyelésével keressük meg.
A konvolvált ábrán a keresett betű-helyek centrumában maximális (fekete) értékeket kell kapnunk. Az ábrát az ADJUST CURVES opcióval tegyük szemléletesebbé és mentsük el a XYK.JPG nevű file –ba.
Nyisson új rajzlapot az IMAGE ATTRIBUTES – ban, amelyik 350 x 350 pixel nagyságú és fekete-fehér. – A vezetékekhez használja a legkisebb vonalszélességet.
Az alkatrészeket lássa el megnevezéssel/értékkel, - jelölje a kimenetet és bemenetet. Az eredményt mentse el az XYZ.JPG nevű file – ba. – Az itt található 11. ábrát tekintse példának.
Függelék
1. A PHOTOSHOP vázlatos ismertetése
A PHOTOSHOP nagyon összetett program, - sok részfunkcióval és sok-sok beállítási lehetőséggel. Itt csak azokat a részleteket említjük röviden, amelyek a bevezető tájékozódáshoz, illetve a gyakorlat elvégzéséhez feltétlenül szükségesek. – Programhoz eléggé bő HELP tartozik, amelyben könnyű a keresés. Feltesszük, hogy az angol nyelvben mindenki legalább alapfokon jártas.
Az induló képernyőn megjelenik az
INFO és a COMMANDS ablak. Az INFO mutatja a cursor helyén található pixel koordinátáit, a szürkeskála K (feketeség) értékét, és az RGB kép színösszetevőit. – A COMMANDS gyakran használt lehetőségei az UNDO – REDO páros, a CUT, COPY és PASTE. – Itt lehet nyitni-zárni a további kis ablakokat. A BRUSHES OPTIONS ablakot célszerű nyitva tartani, hogy a függőleges eszköztár kijelölt ikonjához tartozó információt láthassuk, a paramétereket módosíthassuk. Itt lehet majd beállítani a rajzoláshoz szükséges LINE TOOL - t jellemzőit (Line Width: 1, Anti aliased – NO)A kép baloldalán egy függőleges ábrán a rajzolási eszköztár található. Az itt feltüntetett szimbólumok és elérhető funkciók sok rajzoló program komponensei.
Feltesszük, hogy a WINDOWS PAINT(BRUSH) programját mindenki kipróbálta már és használata nem okoz nagyobb nehézséget !A legfelső sor egyes elemei kattintás után kinyílnak.
FILE –ban találjuk az OPEN, SAVE AS, CLOSE file-műveleteket. A NEW új rajzlap megnyitásához szükséges.
EDIT funkciót a gyakorlat során nem kell használni, ezeket a COMMANDS-ban is megtaláljuk
MODE : lehetővé teszi, hogy a színes arcképet GRAYSCALE – re konvertáljuk.
IMAGE – több opcióját is használni kell.
MAP. Az INVERT, EQUALIZE, THRESHOLD, POSTERIZE műveleteket végig kell próbálni.
ADJUST A LEVELS, CURVES, BRIGHTNESS lehetőségeket is ki kell tapasztalni. A CURVES műveletre többször lesz szükség a gyakorlat során (használjuk a “görbe” módot, amikor pontok megfogásával érintkező görbe vonalakkal rajzolhatunk szinte tetszőleges karakterisztikát. A “ceruzával” is hasonló feladatot tudunk megoldani).
CALCULATIONS – Így lehet két kép kombinációt előállítani. Ezt is használni kell
egy feladathoz.HISTOGRAM - A képre vonatkozó eloszlás görbék. Színes kép esetén az RGB színek külön vizsgálhatók.
FILTER - Nagyon sok érdekes lehetőség érhető el itt, amelyek az egér gombjával választhatók ki. A DISTORT funkciókat végig kell próbálni.
A konvolúciós képmódosítás az OTHER CUSTOM választással érhető el. Itt lehet a matrix elemeit egyenként változtatni. A SCALE azt jelzi, hogy a súlyozott szorzás intenzitás összegét mekkora számmal osztjuk el.
SELECT - az aktuális ábra részleteinek kijelölésére szolgálnak. A gyakorlat során nem használjuk.
WINDOW - A ZOOM IN, ZOOM OUT, ZOOM FACTOR funkciókat használjuk. – A PALETTES segítségével nyithatjuk-zárhatjuk a segéd ablakokat (amit a COMMANDS ablakban is megtehetünk).
2. Matematikai képletek mintái
SQRT(x^2 + y^2)
SIN (x) . ATAN (2 pi x)
DIFF [(1/(1+x^2), x, 2]
INT [(x^3 + TAN(x)), x, -2,+2]
A. A gyakorlatvezetők által kijelölendő részfeladatok:
Név |
3/b. |
4/b. |
5. |
A |
V |
+5 x műveleti erősítő |
|
M |
B |
- 10 x műveleti erősítő |
|
E |
X |
Diódás ÉS |
|
B |
E |
Diff. erősítő |
|
E |
H |
Emitterkövető |
|
M |
P |
Tranzisztoros astabil multivibrátor |
|
A |
A |
Diódás VAGY |
|
B |
C |
Tranzisztoros bistabil multivibrátor |