2011-12-16 12 views

Odpowiedz

3

wyszukiwania Szybkie Google daje następujące informacje zainteresowania:

Generalizing the Hough Transform to Detect Arbitrary Shapes

i wygląda jak lecture stosując powyższą papieru jako źródła.

Ponadto, jeśli jest to rzeczywiste "W", czy silnik OCR, taki jak Tesseract, byłby lepiej dopasowany do Twoich potrzeb?

+0

Tesseract nie jest idealny, ale jest zdecydowanie lepszy niż jakakolwiek zaimprowizowane rozwiązanie do rozpoznawania znaków. – Sam

+0

True! Scenariusz jest jednak dość arbitralny. To, do czego się przyzwyczaiłem, to fakt, że to kilka prostych linii. Czuję, że transformacja Hough powinna być w stanie łatwo obsługiwać kształty, które są prostymi liniami prostymi. Czy tak nie jest? Głosowanie, fajny link do tesseract. –

1

Transformacja Hough dla linii wyszukuje najlepiej pasujące równania liniowe. Aby znaleźć tylko segmenty linii, musisz wykonać dodatkowe przetwarzanie. Jeśli grubość znaku wynosi kilka pikseli, to aby skutecznie znaleźć linie, możesz zmniejszyć grubość do jednego piksela. Istnieją techniki, aby to zrobić, ale także różne pułapki algorytmiczne.

Po wykonaniu segmentów liniowych trzeba będzie napisać algorytm do identyfikacji znaków na podstawie względnej pozycji i kąta segmentów linii. To jest trudniejsze, niż się wydaje.

Znormalizowana korelacja krzyżowa (dopasowanie szablonu) może zadziałać, jeśli masz pewność, że obraz będzie zawsze w określonym obrocie, znaki będą zawsze miały ten sam rozmiar itp. Ale nawet w przypadku skanów zobaczysz trochę rotacji i pewna odmiana kontrastu.

Niezależnie od tego, na dłuższą metę prawdopodobnie taniej będzie używać komercyjnego pakietu OCR lub całkiem dobrego projektu open source. OCR jest trudny do wdrożenia, jeśli nie jesteś obeznany z przetwarzaniem obrazu.

Powiązane problemy