Skip navigation

Pont-operáció gyakorló feladatok

Rajzolóprogram maszkok készítéséhez

A korábban kitűzött rajzolóprogramot alakítsuk át maszkok rajzolására!

  • A létrehozott új maszk kép mérete a bementi képfájl méretével egyezzen meg és szürkeárnyalatos legyen! Fekete színnel töltsük fel kezdetben.
  • Jelenítsük meg az eredeti bementi képet és a maszk képet is, külön ablakban.
  • Az egér esemény kezelése az eredeti kép ablakához legyen rendelve, de rajzolás a maszk képbe történjen!
  • Elegendő csak fekete és fehér rajzolást megvalósítani, ezek billentyűzetről való váltási lehetőséggel.
  • A maszk fájl elmenthető legyen fájlba.

A munkát segíti, ha vizuálisan együtt látjuk a bemeneti képet és a maszkot.

  • A bemeneti képet szürkeárnyalatosként jelenítsük meg.
  • A maszk képpel súlyozottan adjuk össze, a maszkot vörös színnel ábrázolva.

Bővíthetjük további kényelmi funkciókkal.

  • Az ecset alakját (pl. kör, négyzet) és méretét billenytűzetről állítani tudjuk.
  • Az aktuális ecset méretét és alakját rajzoljuk be az eredeti képbe, hogy lássuk, mi rajzolódna be, ha lenyomnánk a bal egérgombot. (Ez továbbmozgáskor törlődjön.)
  • Az egész maszkot feltölthessük feketével vagy fehérrel.
  • Jobb egérgommbal téglalap alakú területet jelölhessünk ki a képen, amit az egér gomb felengedésekor kitöltünk az aktuális maszk színnel.
  • Vezessünk be undo funkciót: az utolsó 10 szerkesztésnek az eredménye visszavonható legyen. (Mentsünk belőlük másolatot.) Egy műveletnek számít egy egérgomb lenyomás-felengedés közötti akció eredménye.

Műveletek maszkolt végrehajtása

Kombináljuk a pont-operációk végrehajtását maszkolással! A bemeneti kép mellett töltsünk be egy vele megegyező méretű maszk képet, és a művelet hatása csak a maszkon belüli részre érvényesüljön!

A maszkot megrajzolhatjuk OpenCV rajzoló függvényekkel, az előző feladatban szereplő rajzolóprogrammal, vagy márs külső program segítségével is!