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