Rozpoznawanie tekstu

0

Witam serdecznie, pisze program ktory ma za zadanie rozpoznawać literkę narysowaną np. w Paint, obrazek jest skalowany do rozdzielczosci 50x50px a nastepnie kazdy pixel jest zapisywany jako 0 lub 1 (zero - kolor biały, jedynka - kolor czarny), do rozpoznawania chcialbym zastosować algorytm k najbliższych sąsiadów, oczywiscie wiem ze potrzebne sa do tego pewne wzorce liter ( program ma byc prosty i rozpoznac np. tylko kilka wielkich liter np. A,B,C) mam problem z implementacją tego algorytmu, tutaj pytanie a moze prośba do osoby która mogłaby mi pomoc w implementacji samego algorytmu, gdyż reszta już jest zrobiona. A może już ktoś robił coś podobnego i podzieliłby się źródełkami

0

Sam algorytm k-najbliższych sąsiadów jest banalny - wczytujesz literę do rozpoznania, porównujesz ją z każdym z trzymanych wzorców i wybierasz k najbardziej podobnych. Wśród tych podobnych liczysz, która litera występuje najczęściej, i tę zwracasz jako wynik rozpoznawania. Oczywiście musisz mieć przynajmniej kilka - kilkanaście wzorców tej samej litery, żeby to miało sens. Pozostaje jeszcze wymyślenie odpowiedniej miary podobieństwa. Np. może to być podwojona liczba czarnych pikseli, które się pokrywają w rozpoznawanej literze i wzorcu, podzielona przez sumę liczby czarnych pikseli w literze i wzorcu (czarne litery na białym tle). Czyli dla idealnego dopasowania dostaniesz 1, dla zupełnie niepokrywających się znaków dostaniesz 0. Oczywiście taka miara jest słaba, bo np. źle będzie reagować na obrót, przesunięcie i skalowanie. Jeśli chcesz czegoś lepszego to poczytaj sobie o współczynnikach kształtu (Google).

0

Dzieki serdeczne za odpowiedz :), jeszcze jedno pytanie o jakiś kontakt do Ciebie, mam jeszcze kilka pytań

1 użytkowników online, w tym zalogowanych: 0, gości: 1