Rozpoznawanie znaków (algorytm OCR) [zamknięte]

Pracuję nad projektem, w którym muszę opracować algorytm OCR (muszę przeczytać tekst z Image, a następnie przekonwertować go na inny język). Tak więc moim pierwszym zadaniem jest pobranie tekstu z obrazu.

Kroki do wykonania pierwszego zadania.

Ładowanie dowolnego formatu obrazu (bmp, jpg, png) z danego źródła. Następnie przekonwertuj obraz na skalę szarości i binaryzuj go za pomocą wartości progowej (algorytm Otsu). // zakończone (Jak usunąć szum z obrazu wyjściowego ???)

Wyniki

Wykrywanie cech obrazu, takich jak rozdzielczość i inwersja. Abyśmy mogli w końcu przekształcić go w obraz wyprostowany w celu dalszego przetwarzania. (uzupełnił kod rotacji obrazu, ale nie jest w stanie wykryć kąta obrazu, o który musimy obrócić obraz, więc nadal działa na część wykrywania kąta)

Wykrywanie linii i usuwanie. Ten krok jest niezbędny, aby poprawić analizę układu strony, uzyskać lepszą jakość rozpoznawania podkreślonego tekstu, wykryć tabele itp. (Zdecydowano o zakończeniu tej części na końcu)

Analiza układu strony. W tym kroku próbuję zidentyfikować strefy tekstowe obecne na obrazie. Aby tylko ta część została wykorzystana do rozpoznania, a reszta regionu została pominięta.

Wykrywanie linii tekstu i słów. Tutaj musimy także zadbać o różne rozmiary czcionek i małe odstępy między słowami.

Rozpoznawanie postaci. To jest główny algorytm OCR; obraz każdej postaci musi zostać przekonwertowany na odpowiedni kod znaku. Czasami ten algorytm tworzy kilka kodów znaków dla niepewnych obrazów. Na przykład rozpoznanie obrazu postaci „I” może spowodować powstanie „I”, „|” Kody „1”, „l” i ostateczny kod znaku zostaną wybrane później.

Zapisywanie wyników do wybranego formatu wyjściowego, na przykład do przeszukiwania PDF, DOC, RTF, TXT. Ważne jest, aby zapisać oryginalny układ strony: kolumny, czcionki, kolory, obrazy, tło i tak dalej.

Potrzebuję więc pomocy w części 6. Ukończyłem część wykrywania linii (pobierz n Obrazy z akapitu zawierającego n wierszy), ale utknąłem w następnej części uzyskując słowa i rozpoznawanie znaków. Tutaj.

Do rozpoznawania postaci mam zamiar użyć asprise (biblioteka Java)http://asprise.com/product/ocr/index.php?lang=java

questionAnswers(4)

yourAnswerToTheQuestion