A szöveg csak Firefox böngészőben jelenik meg helyesen. Használja a fenti PDF file-ra mutató link-et a letöltésre. A képen látható objektumok szerkezetének egyszerűsítésére a vázkijelölés módszerét alkalmazhatjuk. Ennek alapötlete, hogy az objektumot annak egy pixel vastag ,,középvonalával'' helyettesítjük. Így az objektumok kevesebb információval leírhatók és a kapott vázak az objektumok összehasonlítására alkalmazhatók például a karakterfelismerésben.
Olvassunk be egy fekete-fehér képet, majd a fekete alakzatok vázát vékonyítási módszerrel határozzuk meg és jelenítsük meg. A vékonyítási módszertől azt várjuk el, hogy végpontot ne töröljön, őrizze meg az alakzatok összefüggőségét és egy pixel vastag vázat határozzon meg. Algoritmus: Rendeljünk a fekete színhez 1 és a fehér színhez 0 értéket. A vékonyítás során az alakzat kontúrpontjain történhet változás, azaz az olyan 1 értékű pontokon, amelyeknek 8-környezetében van legalább egy 0 érték. A szomszéd pontokat a következőképpen jelöljük:
Első lépés: Az pontot töröljük, ha a következő négy feltétel mindegyike teljesül:
A Szomszédszám (s0) az s0 pont 1 értékű szomszédjainak száma. Az Átmenet (s0) pedig a 0‐1 átmenetek száma az s1, s2, ..., s7, s8, s1 sorozatban. Például:
Második lépés: Az i. és ii. feltétel ugyanaz, de az iii. és az iv. helyett az feltételek teljesülése esetén töröljük a pontokat. Az első lépésben az alakzat összes szélső pontját megvizsgáljuk és törlésre kijelöljük a négy feltételnek eleget tevő pontokat. A törlést a teljes átvizsgálás után hajtjuk végre. Ezután a második lépésben a feltételek második változatával jelöljük meg a törlendő pontokat. Majd ebben az esetben is a teljes kép elemzése után hajtjuk végre a törlést. A váz meghatározásához a két lépést addig folytatjuk, amíg már nem tapasztalunk változást.
Készítsünk programot, amely a bemeneti adatállományban megadott fekete-fehér BMP kép vázát meghatározza és az eredeti képpel együtt a képernyőn megjeleníti. A program parancssori argumentuma legyen a képállomány neve. Más, eltérő képtípust is használhatunk, például RAW állományt, de akkor a program parancssori argumentuma a kép függőleges, vízszintes mérete és a képállomány neve legyen. Beküldendő a program forráskódja (i211.pas, i211.cpp, ...), valamint a program rövid dokumentációja (i211.txt, i211.pdf, ...). A dokumentáció tartalmazza a megoldás rövid leírását, és megadja, hogy a forrásállomány melyik fejlesztőkörnyezetben fordítható és hogyan paraméterezhető. |