Jak w OCR powinienem radzić sobie z wypaczonym tekstem na bokach owalnych obiektów?

Jan 06 2021

Rozważ obraz, który zawiera jedną puszkę (lub butelkę lub inny podobny owalny przedmiot), na którym jest cały tekst. Na poniższym obrazku mam wiele butelek, ale możesz założyć, że każdy obraz zawiera tylko jeden taki obiekt.

Jak widać, w każdej puszce tekst może przepływać od lewej do prawej, a każdy system OCR może nie zauważyć tekstu po lewej i prawej stronie puszki, ponieważ nie są one ustawione pod kątem kamery.

Czy jest więc jakieś rozwiązanie tego problemu, takie jak wstępne przetwarzanie w określony sposób, abyśmy mogli odczytać tekst lub przekształcić ten okrągły obiekt w prosty? (Jeśli istnieje program w Pythonie, który może rozwiązać ten problem, czy mógłbyś mi go udostępnić?)

Odpowiedzi

2 BrianO'Donnell Jan 08 2021 at 01:25

Jest wiele artykułów na ten temat, ale następujące to dobry początek:

  • Jak programowo rozpakować etykiety na wino . Autor zawiera kod źródłowy w języku Python.

Wspomniałeś, że nie chcesz robić panoramicznego widoku, ale ma to więcej niż jedno znaczenie. Jeśli zakładam, że masz na myśli, że nie chcesz obracać puszki podczas robienia wielu zdjęć lub nie chcesz robić wielu zdjęć pod różnymi kątami, możesz wypróbować obiektyw pericentryczny . Wymagałoby to przetwarzania obrazu w celu rozpakowania. Potrzebna jest większa rozdzielczość, ponieważ owijanie jest znacznie poważniejsze. Zaletą jest jednak to, że będziesz mieć pojedynczy obraz całej cylindrycznej powierzchni i nie przegapisz żadnych funkcji ani tekstu.