Biblioteka do rozpoznawania tekstu

0

Witam, poszukuję wydajnej biblioteki, która mogłaby podawać procent podobieństwa dwóch obrazów do siebie. Zastosowanie następujące: chce stworzyć program do rozpoznawania mojego unikalnego, dość niestarannego pisma (zwanego jako hieroglify :P). Kto ma pomysł?

0

Cześć,

Nie słyszałem żeby ktoś taką bibliotekę udostępniał ponieważ, jej tworzenie jest sztuką samą w sobie. W zasadzie gdybyś taką bibliotekę dostał to niby na czym miała by polegać twoja praca? Już sama biblioteka odpowiada Ci jak bardzo podobny jest gryzmoł do jakiegoś wzorca.
Proponuję abyś poczytał sobie o sztucznych sieciach neuronowych, bo to głównie z ich pomocą realizuje się zadanie rozpoznawania tekstu. Zasada jest prosta najpierw musisz sieć nauczyć rozpoznawać wzorzec, a dopiero później ona Ci da odpowiedź. Raczej nikt nie udostępnia gotowej biblioteki, bo:

  1. nie zna twoich wzorców
  2. dostrojenie sieci by rozpoznawała gryzmoły z dużą dokładnością, tak jak wspomniałem, jest sztuką.

Powodzenia

1
  1. na tej stronie gdzieś jest artykuł deti'ego w którym opisuje budowę i tworzenie systemu rozpoznawania tekstu (w dodatku jest w C#, lepiej dla ciebie nie mogłoby być).
    edit: proszę, świetny artykuł - Sieci neuronowe, aproksymacja i rozpoznawanie pisma .
    wziąwszy pod uwagę czas jaki mi zajęło znalezienie tego (fakt że wiedziałem dokładnie czego szukam) sprawia że podaję w wątpliwość twoją znajomość z google...

  2. podobieństwo dwóch obrazów w procentach napisane teraz przeze mnie:

        static float BitmapDiff(Bitmap a, Bitmap b)
        {
            if (b.Size != a.Size)
            { b = new Bitmap(b, a.Size); }

            int diffTotal = 0;
            for (int x = 0; x < a.Width; x++)
                for (int y = 0; y < a.Height; y++)
                {
                    Color ca = a.GetPixel(x, y);
                    Color cb = b.GetPixel(x, y);

                    int diffR = Math.Abs(ca.R - cb.R);
                    int diffG = Math.Abs(ca.G - cb.G);
                    int diffB = Math.Abs(ca.B - cb.B);

                    diffTotal += (diffR + diffB + diffG);
                }

            return ((float)diffTotal) / (a.Width * a.Height * 256 * 3);
        }

Chyba jednak nie o to Ci chodzi :P.

0

Na stronie http://sdjournal.pl/ kiedyś widziałem artykuł na temat biblioteki, która tworzy i umożliwia uczenie sieci neuronowej. O ile dobrze pamiętam, był tam przykład, który umożliwiał aplikacji rozpoznanie narodowego języka w jakim został napisany tekst. Natomiast jeśli nie chcesz korzystać z gotowców, to weź się lepiej za matematykę, inaczej bardzo ciężko będzie ci tworzyć własne sieci, bo kluczem jest zrozumienie sposobu ich działania, a nie implementacja.

0

Niestety w tym artykule: Sieci neuronowe, aproksymacja i rozpoznawanie pisma nie działa link do solucji z rozwiązaniem :( jedynie linki do gotowych map, a mi przydałaby się gotowa solucja :(

0

Chociaż znalazłem to: http://www.codeproject.com/KB/dotnet/simple_ocr.aspx tylko muszę jeszcze popracować nad czymś, żebym mógł rysować na formie literki :D

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