Digitális képek szegmentálása
A programot az alábbi
követelményeknek megfelelően kell elkészíteni és beadni:
- Olvasd el és nagyon pontosan kövesd a program
specifikációt és utasításokat.
- A specifikációban előírt függvényeveket, változóneveket,
argumentumokat ne változtasd meg. Ha például egy strcpy(a,b) függvényt
kell írnod, akkor sem strcpy sem a, b neve nem változtatható.
- Minden egyéb függvényevet, változónevet, stb ...szabadon
választhatsz, de a neveknek tükrözniük kell azok funkcióját. Olyan
függvény nevek, mint func vagy f nem elfogadhatóak. Azonban i
például minden további nélkül használható, mint egy tömb indexváltozó.
- Minden forrásfájl elején egy elegendően részletes leírásnak kell
lennie, amelynek tartalmaznia kell a fájl nevét, a szerző
nevét, ETR azonosítóját, gyakorlati csoport számát, létrehozás dátumát, amit egy részletes kódleírás követ.
- A programkódot el kell látni megfelelő kommentekkel.
Az alábbi kommentek elhagyása pontvesztést okozhat:
- Minden függvénydefiníció előtt lennie kell egy kommentnek,
amelyben le kell írni a lehetséges visszaadott értékeket és azok
jelentését, minden argumentumot (mire használod őket, mik az esetleges
megszorítások, feltételek) és természetesen azt is le kell írni, hogy
mit csinál a függvény.
- Ciklusok (kivéve a triviálisakat, mint például egy tömb
elemeinek másolása/feltöltése).
- if-else, switch utasításokat minden ágban kommentel
kell ellátni.
- Makro és konstans definiciók (#define), kivéve ha a nevük már elegendő információval szolgál.
- Globális változók, tipus definíciók (typedef), struktúra
definíciók, kivéve ha a nevük már elegendő információval szolgál.
- Használj konzisztens tabulálást.
- Ha az utasításokban az szerepel, hogy futtatható változatot vagy
futási eredményt is be kell adni, akkor ezek hiányában a program nem
értékelhető!
- A programot a megadott határidő előtt kell beadni. Határidő
után program NEM adható be!
- A programot a megadott formátumban és fájlnevekkel kell
beadni. Hibás formátum / fájlnév esetén a program nem értékelhető! A
beadott programokon semmilyen konverziót nem hajtunk végre!
- A program beadásához szükséges technikai információ megtalálható
a kurzus weboldalán:
http://www.inf.u-szeged.hu/~kato/teaching/segmentation/
Határidő: |
2017 december 4, 10:00 |
Formátum: |
Egyetlen ZIP fájl amely a forrásfájlt és |
|
a Windows alatt futtatható programot tartalmazza. |
Fájlnév: |
<
mathend000#ETR azonosító>
mathend000#.zip. |
Egészítsük ki az 1. kötelező programot textúra-jellemzők
számításával. Az input kép most egy szürkeárnyalatos kép. A textúra
jellemzőt az együttes előfordulási mátrix kiszámolásával állítjuk elő
úgy, hogy a képen egy paraméterben megadott méretű ablakot csúsztatva
mindig az ablakba eső pixelekre számoljuk a mátrixot. Az így kapott
együttes előfordulási mátrixból pedig számoljunk energiát (ez egy
valós szám lesz). Az így kapott érték lesz az ablak középpontjában
álló pixel textúra jellemzője. A bemeneti kép minden pixelére
alkalmazva a fenti eljárást, egy új képet kapunk, amelyben minden
pixel értéke az ott mért textúra-energiával egyenlő. Ezt a képet
jelenítsük meg egy scrollozható ablakban (ehhez a kép értékeit 0 és
255 közé kell skálázni). Az így kapott képet azután manuális küszöböléssel
küszöböljük (az eljárás egyetlen paramétere a küszöbszám), és az így
kapott szegmentálást is jelenítsük meg egy újabb scrollozható
ablakban.
A program GUI az alábbi elemeket tartalmazza:
- A csúszó ablak méretének beolvasása szövegablakban (célszerű
páratlan oldalakkal dolgozni,
hogy a középpont egész pixelre essen).
- Az együttes előfordulási mátrix
i
mathend000#,
j
mathend000#
paraméterének beolvasása szövegablakban.
- A küszöbszám beolvasása szövegablakban.
- Input kép egy scrollozható ablakban.
- A kiszámolt textúra jellemző mint kép egy másik scrollozható
ablakban.
- A küszöbölt kép egy harmadik scrollozható ablakban.
- Az input kép beolvasását valamint a textúra jellemzők
képe és a szegmentálási eredmény eltárolását is biztositani kell.
Last modified: Mon Nov 13 09:04:28 CET 2017