OCR został powiększony i przycięty, jak zmapować ramkę rozpoznawania z powrotem na oryginalny tekst
Ramka zwrócona przez OCR jest dokładna na obrazie lokalnym, ale cała ramka jest wyłączona po ponownym narysowaniu do pliku PDF. Nie wątp najpierw w silnik rozpoznawania, sprawdź sekwencję przetwarzania wstępnego: czy jest najpierw przycięty, potem powiększony, a następnie wypełniony białą ramką? Każdy krok powoduje zmianę współrzędnych i odwrotne mapowanie należy cofnąć w odwrotnej kolejności.
Ramka rozpoznawania zwrócona przez OCR może być dokładna na obrazie lokalnym, ale cały obraz może być nieprawidłowo po przeniesieniu do pliku PDF. Ten typ problemu jest bardzo powszechny. Podczas rozwiązywania problemów nie musisz najpierw wątpić w silnik rozpoznawania. Powinieneś także sprawdzić łącze do wstępnego przetwarzania. Ten artykuł jest przeznaczony dla programistów i recenzentów, którzy muszą zmapować wyniki rozpoznawania z powrotem na dokument źródłowy.
Wiele obrazów przed rozpoznaniem jest przycinanych, skalowanych i wypełnianych białymi krawędziami. Każdy krok powoduje zmianę współrzędnych, więc odwrotne mapowanie należy cofnąć w odwrotnej kolejności. Po przeczytaniu tego artykułu możesz skorzystać z przejrzystego zestawu pomysłów na transformację współrzędnych, aby zlokalizować przyczynę niewspółosiowości, a także skorzystać z testów w obie strony i sztucznych punktów kontrolnych w celu sprawdzenia wyników.
Przykładowy kod został sprawdzony w izolowanym środowisku, ale nie gwarantuje to działania wszystkich rzeczywistych plików ani produktu. Przed posługiwaniem się ważnymi dokumentami należy zachować oryginały.
Co powinienem zrobić, jeśli pole OCR nie pasuje do dokumentu źródłowego? Wniosek w jednym zdaniu
Najpierw sprawdź kolejność przetwarzania wstępnego, zapisz transformację współrzędnych każdego kroku, a następnie wykonaj odwrotne mapowanie w odwrotnej kolejności.
| twoja sytuacja | Zalecane praktyki | powód |
|---|---|---|
| Ramka rozpoznawania jest dokładna na mapie lokalnej i przesunięta po ponownym narysowaniu do pliku PDF. | Sprawdź, czy najpierw przyciąć, potem skalować, a następnie wypełnić krawędzie | Każdy krok spowoduje zmianę współrzędnych |
| Współczynniki skalowania obrazu w poziomie i w pionie są różne | Zapisz oddzielnie proporcje poziome i pionowe | Dowolne rozciąganie zmieni kształt tekstu |
| Obraz zostaje obrócony lub skorygowana perspektywa | Zamapuj cztery punkty narożne i zachowaj kwadrat lub zapisz transformację homografii | Prostokąt dwupunktowy nie może wyrazić wyniku |
| Lokalizacja źródłowa musi zostać wyświetlona w interfejsie | Zaakceptuj zapis transformacji współrzędnych wraz z treścią | Podświetlenie niewłaściwej linii sprawi, że prawidłowe tłumaczenie będzie wyglądało na niewiarygodne |
Użyj jawnej transformacji zamiast zgadywania przesunięcia
Zakładając, że na wykresie znajduje się punkt, najpierw odejmij początek obcinania, następnie pomnóż przez współczynnik skalowania, a następnie dodaj dodatkową krawędź. Proces odwrotny polega na tym, aby najpierw odjąć dodatkową krawędź, następnie podzielić ją przez proporcję i na koniec dodać z powrotem do początku cięcia.
- Dalej: Odejmij początek przycięcia → pomnóż przez współczynnik skalowania → dodaj dodatkowe krawędzie
- Odwróć: Odejmij dodatkową krawędź → Usuń skalowanie → Dodaj ponownie początek przycięcia
Jeżeli proporcje poziome i pionowe są różne, należy je zapisać osobno. Przypomina nam to również, że dowolne rozciąganie obrazu zmieni kształt tekstu.
Niech test w obie strony obejmuje współrzędne niecałkowite
from math import isclose
origin = (100.0, 40.0)
scale = (2.0, 1.5)
padding = (8.0, 12.0)
def forward(point):
return tuple((point[i] - origin[i]) * scale[i] + padding[i]
for i in range(2))
def inverse(point):
if any(s <= 0 for s in scale):
raise ValueError("positive scale required")
return tuple((point[i] - padding[i]) / scale[i] + origin[i]
for i in range(2))
for point in [(100, 40), (125.5, 62.25), (200, 90)]:
restored = inverse(forward(point))
assert all(isclose(a, b) for a, b in zip(point, restored))
assert forward((100, 40)) == padding
assert inverse((58, 42)) == (125.0, 60.0)
Ten przykład weryfikuje jedynie obliczenia geometryczne i nie wykonuje OCR. Ponowne próbkowanie obrazu obejmuje konwencję środka i zaokrąglania pikseli, a rzeczywiste mapowanie granic wymaga ujednoliconych ciągłych współrzędnych lub semantyki granic pikseli.
Nie zaokrąglaj przedwcześnie współrzędnych zmiennoprzecinkowych, a podczas rysowania postępuj z nimi według jasnych zasad.
Pudełko nie zawsze ma tylko dwa punkty
Różne transformacje wymagają zapisywania różnych informacji, a środki ostrożności podczas mapowania są również różne:
| Transformacja | Trzeba go uratować | Uwaga mapowania |
|---|---|---|
| Cięcie | Przesunięcie początkowe | Która wersja oryginalnego obrazu jest odnawiana? |
| Zoom | Proporcje poziome i pionowe | Zapobiega utracie precyzji dzielenia całkowitego |
| Obróć | Centrum obrotu i macierz | Po zmapowaniu czterech narożników zachowaj czworokąt |
| Korekcja perspektywy | Monotonna transformacja | Dwa prostokąty nie wystarczą, by wyrazić wynik |
Weryfikacja i wyświetlanie linków za pomocą ręcznych kotwic
Zaznacz znane punkty narożne na kilku zdesensyzowanych próbkach i sprawdź, czy oryginalny obraz pasuje po wstępnym przetwarzaniu. Jeśli zdasz test jednostkowy matematyczny, można wyeliminować tylko niektóre błędy obliczeniowe; Rotacja strony, powiększenie wyświetlania i układy współrzędnych PDF mogą nadal wprowadzać nowe uprzedzenia.
Dwujęzyczne podkreślanie wymaga zaufanego miejsca
Przy tworzeniu narzędzia do korekty na podstawie tłumaczenia OmniDoc (wpis produktu), jeśli lokalizacja źródła ma być wyświetlana, łącze współrzędne powinno być akceptowane razem z linkiem treści. Zaznaczenie błędnego zdania sprawia, że poprawne tłumaczenie wydaje się niewiarygodne. Prowadzenie rejestrów transformacji jest łatwiejsze do utrzymania niż tymczasowe wynagrodzenie na początku.
Szczegóły dotyczące interfejsów mapowania pikseli można znaleźć w Rozmiar obrazu poduszki i interfejs transformacji.
📊 Porównanie rdzenia
Porównanie metod weryfikacji:
| Metody weryfikacji | Co można odkryć? | Ograniczenia |
|---|---|---|
| Test jednostki matematycznej | Niektóre obliczenia były błędne | Nie można nadpisać obrotu strony, powiększenia wyświetlania ani układów współrzędnych PDF |
| Ręczna weryfikacja punktu kotwiczenia | Po wstępnym opracowaniu sprawdź, czy oryginalny obraz został przywrócony | Wymagane są próbki odczulane i ręczne adnotacje |
Porównanie metod przetwarzania współrzędnych:
| Metody obsługi | Zalety | Wyjaśnienie |
|---|---|---|
| Zachowanie rekordów transformacji | Łatwiejsze w utrzymaniu | Powiązania współrzędne są śledzalne |
| Tymczasowe odszkodowanie na początku | Zmiany wydają się proste | Koszty utrzymania są wyższe |
🎯 Która metoda ci odpowiada?
Jeśli ......
- Rozpoznaj pole lokalnego wyrównania lub przesunięcia całej strony: najpierw sprawdź kolejność kadrowania, skalowania i przycinania, a następnie odwracaj mapę w odwrotnej kolejności.
- Obsługa współrzędnych niecałkowitoliczbowych: najpierw weryfikuj wzór testem w obie strony, tymczasowo nie zaokrąglaj w górę, a następnie ujednolicaj reguły podczas rysowania.
- Wykonaj dwujęzyczne podświetlanie lub lokalizację źródła: Przeglądaj łącze współrzędnych i łącze treści razem oraz przechowuj rekordy transformacji.
- Dotyczy rotacji lub korekty perspektywy: Nie zapisuj tylko dwupunktowego prostokąta; przejdź do mapowania czterech rogów lub zapisuj transformację sylabiczną.
❓ Najczęściej zadawane pytania (FAQ)
1. Czy najpierw trzeba wymienić silnik rozpoznawczy?
Nie trzeba najpierw wątpić w silnik. Najpierw sprawdź kolejność wstępnego przetwarzania, ponieważ przycinanie, skalowanie i wybielanie zmieniają współrzędne.
2. Czy zdanie testu jednostkowego matematycznego gwarantuje poprawność mapowania?
Nie. Może jedynie wykluczyć pewne błędy obliczeniowe; rotacja strony, skalowanie wyświetlania i układy współrzędnych PDF mogą nadal wprowadzać nowe błędy.
3. Dlaczego nie zaleca się zaokrąglania współrzędnych zbyt wcześnie?
Resampling obrazu obejmuje środki pikseli i konwencje zaokrągleń. Współrzędne zmiennoprzecinkowe powinny być najpierw zachowane, a następnie obsługiwane zgodnie z jasnymi zasadami podczas rysowania.
4. Co się dzieje, gdy obraz jest rozciągnięty?
Jeśli proporcje obrazu się różnią, powinny być przechowywane osobno. Arbitralne rozciąganie zmienia kształt tekstu i wpływa na relację między polem rozpoznawczym a zawartością dokumentu.
📝 Podsumowanie
Nieprawidłowe wyrównanie skrzynek OCR zwykle wynika z połączenia wstępnego przetwarzania, a nie z samego wyniku rozpoznania. Każdy etap transformacji musi być jasno zapisany, a zarówno testy w obie strony, jak i ręczne punkty kotwiczenia mogą być używane do wspólnej akceptacji, aby upewnić się, że podświetlone pozycje są wiarygodne.
Doświadczenie teraz: Prześlij dokument, aby zacząć tłumaczyć, zachowując oryginalne formatowanie


