Kezdőoldal » Számítástechnika » Programozás » Merre induljak el, ha Java-ban...

Merre induljak el, ha Java-ban kép egyezés felismerést szeretnék készíteni?

Figyelt kérdés

Egy egyszerű példán keresztül tenném fel a kérdést.

Ha az én gépemen meg van nyitva teljes méretben a Paint nevű program, akkor a bal fölső sarokba illeszthető 18x22 képpontos téglalap tartalma az alábbi "pixelhalmaz":

[link]


Tehát ezt a Sample képet szeretném összehasonlítani egy Java programon belül a képernyő bal fölső sarkába helyezhető 18x22 -es területen, és ha egyezik a sample és a képernyő azon része, akkor történjen valami.


(Nyilván abszurd a példa, ez csak egy nagyobb program része lenne, de a lényeg ugyanez. Lennének Sample képek, amiket a képernyő adott területén kellene vizsgálni, hogy ott vannak-e vagy sem. (Csak 1 adott gépre készülne a program, tehát bőven elég a paint-es példához hasonlóan 1 sample kép egy adott vizsgálathoz.))


Tehát leegyszerűsítve a kérdést: egy ilyen "két képet összehasonlító" program kellene, ami egy IGEN-NEM értékelést készít, hogy az egyik kép bizonyos pozíción tartalmazza-e a másik(sample) képet.

Csak a háttérben futó algoritmus kellene, hiszen a programban lenne kézzel megadva fordítás előtt a sample kép, és az adott vizsgálandó pozíció is, ahol a hasonlóságot kell vizsgálni.


Tehát először egy olyan ActionListenert szeretnék készíteni, ami kiír egy 1-est a konzolba, amikor/ameddig a paint nevű programot teljes méretre rakom.



Tudna ehhez valaki kiindulási pontot/hasonló példát, vagy valamit adni?

Köszi!



2015. júl. 6. 09:23
 1/4 anonim ***** válasza:

Elsőnek google felé indulj:


[link]

2015. júl. 6. 10:53
Hasznos számodra ez a válasz?
 2/4 SimkoL ***** válasza:
Hasonlóság vagy pixelenkénti egyezés ? Az utóbbi könnyebb, gyorsabb.
2015. júl. 6. 11:07
Hasznos számodra ez a válasz?
 3/4 A kérdező kommentje:
pixelenként bőven elég, mivel csak 1 gépen használnám, így 100%-os egyezés lenne, mivel a sample is ezen a gépen készülne.
2015. júl. 6. 11:32
 4/4 SimkoL ***** válasza:
Sajnos a Java-t nem ismerem, elvben el tudom neked magyarázni vagy meg tudom mutatni az ide vonatkozó Delphi kódomat, kommentekkel. Az hiszem abból könnyebben megtalálhatók a Java-nak megfelelő függvények. Nagyon egyszerű az egész. A BitBlt nevű függvénnyel a képernyő adott részét egy bitmapbe másolom. Ez Win Api fgv. de biztos van rá Java megfelelő vagy hívható Java-ból is - láttam rá példát - Utána már csak az így kapott képet és a mintát kell egy-egy MemoryStream-be 'tolni' és egy függvénnyel - én esetemben CompareMem - összehasonlítani. Ez az eljárás a leggyorsabb. A te esetedben akár lehetne pixelenként is hasonlítani a kis méret miatt, de ha sokszor kell lefutni, sok mintát kell hasonlítani nem biztos, hogy szerencsés. A vezérlő Timer idejét nem célszerű nagyon kicsire állítani, de azt inkább ki kell tapasztani. Ez a program [link] az, megírni kevesebb idő volt mint elmagyarázni.
2015. júl. 6. 12:47
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!