Chcę rozpoznać cyfry z karty kredytowej. Co gorsza, obraz źródłowy nie może być wysokiej jakości. OCR ma być realizowany za pośrednictwem sieci neuronowej, ale nie powinno to być tematem tutaj.Przygotowanie złożonego obrazu do OCR
Aktualne wydanie to wstępne przetwarzanie obrazu. Ponieważ karty kredytowe mogą mieć tła i inną złożoną grafikę, tekst nie jest tak wyraźny, jak w przypadku skanowania dokumentu. Przeprowadziłem eksperymenty z wykrywaniem krawędzi (Canny Edge, Sobel), ale nie było to udane. Również obliczenie różnicy pomiędzy obrazem w skali szarości a rozmytym (zgodnie z Remove background color in image processing for OCR) nie doprowadziło do wyniku OCRable.
Myślę, że większość podejść kończy się niepowodzeniem, ponieważ kontrast między określoną cyfrą a jej tłem nie jest wystarczająco silny. Prawdopodobnie istnieje potrzeba dokonania segmentacji obrazu na bloki i znalezienia najlepszego rozwiązania do przetwarzania wstępnego dla każdego bloku?
Czy masz jakieś sugestie, jak przekonwertować źródło na czytelny obraz binarny? Czy wykrywanie krawędzi jest drogą, czy powinienem trzymać się podstawowych kolorów?
Oto przykład podejścia szarości-progowania (gdzie nie jestem oczywiście zadowolony z wyników):
Obraz oryginalny:
szarości:
Próg obrazu :
Dzięki za wszelkie rady, Valentin
Ponieważ jest tak mało kontrastu, spróbowałbym wykrycia krawędzi, o czym wspomniałeś. –