simpel OCR-algoritm för korsord?

Permalänk
Medlem

simpel OCR-algoritm för korsord?

Vad är enklaste sättet att läsa in bokstäverna från ett foto på ett korsord? jag har pysslat en del med neurala nätverk så själva teckenigenkänningen (en bokstav i taget) kanske skulle gå att lösa den vägen, men jag har ingen aning om hur jag ska separera alla celler. Om bilden har tydliga horizontella och vertikala linjer borde det väl gå att extrahera ett rutnät på nått sätt? Jag läste om hough-transform som tydligen hittar linjer i bilder, så det är ju ganska nära.

Nån som får en spontan idé om hur man kan lösa detta på ett enkelt sätt? Antagligen kommer jag veta i förväg hur många rader och kolumner det finns, och detta borde ju underlätta en del? En långsam metod vore kanske att köra ett edge-detection filter och sen försöka passa in ett rutnät på bilden med så lite fel som möjligt. Det känns som en enkel lösning om inte annat

Visa signatur

www.filipsprogram.tk - lite freeware
"Delight, herregud. Talang är bara förnamnet."

Permalänk
Medlem

Hade som projekt i skolan att göra ett ocr-program. Vi körde canny edge detection som jag hade optimerat för att hitta text, det var absolut inte den långsammaste modulen.
Sen kan jag inte rekommendera att du kör in alla pixlarna i ann:et. Du borde köra någon dimensionality reduction. Så istället för att ha 50x50=2500 inputs så kan du klara dig med 50!

Visa signatur

awesome arch

Permalänk
Medlem

Min spontana tanke är ju att man först hittar ett rutnät, sen kör OCR (kanske med ANN, kanske något annat) på varje ruta i rutnätet. Hur man hittar rutnätet är väl lite intressant, Hough-transform kan säkert hjälpa till för att hitta linjerna i rutnätet (även om det inte är fullständigt) vilka man sedan kan använda för att hitta de individuella rutorna. Att veta hur många rutor som finns lär ju förenkla detta.

Permalänk
Medlem

Trevligt med lite svar Det känns som att det största problemet är att hitta rutnätet. Igår kväll kom jag på att någon måste ha löst detta problem för att läsa in sodoku, och en snabb googling bekräftade detta. Jag hittade följade länk vilket var väldigt trevlig läsning (rekomenderas): http://sudokugrab.blogspot.com/2009/07/how-does-it-all-work.h...

Det verkar som att den killen tänkt exakt i samma banor som oss och det fungerar tydligen oxå i praktiken jag tycker det är lite störande att det ska vara så himla svårt att hitta ett objekt i en bild när man vet hur det ser ut, hur kan det vara så himla svårt att hitta en rutnät när en människa gör det på ingen tid alls?

Visa signatur

www.filipsprogram.tk - lite freeware
"Delight, herregud. Talang är bara förnamnet."

Permalänk
Medlem

Bra länk.

Det första jag tänker på är att om det ska vara realtid så är openCV bra, annars så är det bättre att skapa något som är optimerat för kvalitet istället för hastighet.

Sen så har han rätt i att man vill bli av med all färginformation. Här kommer canny edge detection in i bilden, den tar inte bara bort färger utan även mindre prominata kanter.

Med väldigt små bokstäver som sitter nära varandra så är inte edge detection det bästa då vissa bokstäver kan flyta ihop och då får man problem med segmenteringen. Adaptive thresholding kan vara lösningen på detta.

För segmenteringen så känns det som om det bästa sättet är att hitta rutnätet och bara läsa in allt i cellerna. Här verkar det som om en hough-transform skulle passa in väldigt bra.

Visa signatur

awesome arch