2016. július 26., kedd
Képfelismerés info - Image recognition
forrás: Facebook beszélgetésből
Egy rajzfelismerő alkalmazást akarok írni, ami tök egyszerű formákat, pl Kör, négyzet, háromszög stb... felismer. Mármint hogy a júzer lerajzolja a képernyőre és a program felismeri az előre megadottak közül, hogy melyik az.
Ki hogyan csinálna egy ilyen algoritmust?
A jelenlegi elgondolásom:
Először azonos méretűre skálázza a 2 mintát. Azután a bal felső sarkot használva mint nézőpont X mintát vesz a rajzból, legyen mondjuk X = 90, tehát 1 fokonként minden szögnél. Majd ezen a Xi-edik mintán (ami egy vonal a bal felső saroktól indulva) lekéri az összes pontot ami átmegy a rajzon. Ezt megteszi mind a két rajzzal, végül minden egyes mintánál megnézi hogy az átmeneti pontok mennyire vannak messze egymástól. Végül kiszámolja, hogy átlagosan mennyire voltak messze a kapott mintavételi pontok és ha ez túllép egy értéket akkor nem az adott rajz van a képernyőn.
De hátha van valakinek egy jobb megoldása erre.- Jelenleg a turning Function-on állok, hogy azzal vizsgálom meg az egyes formákat, egyszerűnek tűnik és gyorsnak
--
Bármit felismerni nyilván nem lehet. Kell lennie egy "ABC"-dnek, amiket ismersz.
--
Szerintem inkább regressziót használj, vagy klaszterezést. Egy csomó templatelős marhaságot megspórolsz magadnak
****
Detecting some simple shapes in images : http://www.aforgenet.com/articles/shape_checker/
*****
Hough transform : https://en.wikipedia.org/wiki/Hough_transform
******
Handwriting Recognition with Python :
https://www.youtube.com/watch?v=PO4hePKWIGQ
******
Mi az egyetemen MatLabot használtunk erre a célra, egy jó algoritmussal nagyon jó felismerőt lehet készíteni. A konkrét metodikára már nem emlékszem de elérhetőek példakódok is és ha mélyebben beleásol tudod optimalizálni a felismerést (pontosságot javítani illetve beállítani mennyire legyen megengedő a program a felismerés során).
Recognition methods in image processing : http://www.mathworks.com/discovery/image-recognition.html?requestedDomain=www.mathworks.com&requestedDomain=de.mathworks.com