Orientacja dokumentu zrobionego telefonem komórkowym jest nieprawidłowa. Najpierw przetwórz EXIF, a następnie wyślij go do OCR.
Zdjęcie kontraktowe na moim telefonie wyglądało na pionowe, jednak po wgraniu obróciło się poziomo. Powodem może być to, że same piksele nie są obracane, przeglądarka po prostu dostosowuje wyświetlanie w oparciu o znaczniki orientacji EXIF. Jeśli wejście OCR zignoruje ten znak, przeczyta stronę w innym kierunku.
Zdjęcia kontraktowe wykonane telefonami komórkowymi są w albumie ustawione pionowo, ale po przesłaniu stają się poziome. Wiele osób pomyśli, że zdjęcie jest przekrzywione lub plik jest nieprawidłowy. Ten artykuł został napisany dla osób, które chcą przesłać zdjęcia z telefonu komórkowego do procesu OCR lub tłumaczenia, aby pomóc Ci rozróżnić „kierunek wyświetlania"od „kierunku pikseli".
Po przeczytaniu tego dowiesz się, czym jest flaga orientacji EXIF, jakiej funkcji używa Pillow do jej obsługi i jakich problemów nie rozwiązuje. W przykładach wykorzystano próbki syntetyczne, a kod został sprawdzony w izolowanym środowisku, ale nie stanowi to gwarancji działania wszystkich rzeczywistych plików lub produktu. Przed przystąpieniem do przetwarzania ważnych dokumentów prosimy o zachowanie oryginałów i zapoznanie się z nimi zgodnie z granicami i pozycjami akceptacji w tekście.
Co powinienem zrobić, jeśli dokument zapisany telefonem komórkowym jest w złym kierunku? Wniosek w jednym zdaniu
Najpierw użyjImageOps.exif_transpose, aby zastosować znak kierunku EXIF, a następnie wyślij dostosowany obraz do OCR; Kwestie pochylenia i perspektywy należy rozpatrywać osobno.
| twoja sytuacja | Zalecane praktyki | powód |
|---|---|---|
| Przeglądarka wyświetla się normalnie, ale wyniki analizy są wyświetlane na boki | Najpierw użyj ImageOps.exif_transpose, aby zastosować kierunek EXIF | Piksele nie są obracane, dostosowywana jest jedynie warstwa wyświetlania |
| Całe zdjęcie jest lekko przechylone | Oceń korektę pochylenia indywidualnie | exif_transpose nie obsługuje kątów fotografowania |
| Papier jest trapezowy | Wykrywaj granice papieru i przeprowadzaj korekcję perspektywy | Zniekształcenie perspektywy nie jest problemem orientacji EXIF |
| Należy zapisać pudełko zwrócone przez OCR | Rejestruj jednocześnie rozmiar wejściowy, transformację orientacji i rozmiar wyjściowy | Skorygowane współrzędne obrazu różnią się od oryginalnego obrazu |
Kierunek wyświetlania i kierunek pikseli należy rozpatrywać osobno.
Piksele zdjęcia mobilnego nie mogą same zostać obrócone, a znaczniki orientacji EXIF w pliku informują widza, jak je wyświetlić. Przeglądarka odpowiednio dostosuje obraz, a jeśli silnik OCR zignoruje ten znak, odczyta stronę w przeciwnym kierunku.
Funkcja ImageOps.exif_transpose poduszki dostosowuje piksele w oparciu o informacje o orientacji i usuwa zastosowane znaczniki orientacji, aby uniknąć kolejnych rotacji. Zajmuje się orientacją EXIF, a nie dowolnym przechyleniem strzału lub zniekształceniem perspektywy. Prostowanie papieru zrobionego krzywo telefonem komórkowym nadal wymaga kolejnego zestawu obróbki geometrycznej.
Przetestuj granice rotacji za pomocą syntetyzowanych pikseli
Poniższy kod wykorzystuje obraz złożony do sprawdzenia, czy znaczniki orientacji zostały zastosowane prawidłowo:
from PIL import Image, ImageOps
source = Image.new("RGB", (40, 20), "white")
source.putpixel((0, 0), (255, 0, 0))
source.getexif()[274] = 6
fixed = ImageOps.exif_transpose(source)
assert fixed.size == (20, 40)
assert fixed.getpixel((19, 0)) == (255, 0, 0)
assert fixed.getexif().get(274) is None
assert source.size == (40, 20)
again = ImageOps.exif_transpose(fixed)
assert again.size == fixed.size
assert again.tobytes() == fixed.tobytes()
Czerwone piksele w rogach służą tutaj do sprawdzania zależności geometrycznych bez wywoływania silnika OCR lub symulowania prawdziwego tekstu. Dlatego też test może jedynie potwierdzić wniosek, że „znaczniki kierunku zostały prawidłowo zastosowane", ale nie może wykazać, „w jakim stopniu poprawił się współczynnik rozpoznawania tekstu". Przykłady zależą od Pillow i powinny być uruchamiane w zablokowanych wersjach.
Anomalie kierunku zmiany kierunku
W przypadku napotkania problemu z kierunkiem należy najpierw przyjrzeć się zjawisku, a następnie określić przyczynę. Poniższa tabela może pomóc Ci w podjęciu decyzji o kolejnych krokach:
| przestrzegać | Możliwe przyczyny | Następny krok |
|---|---|---|
| Przeglądarka normalna, parser poziomy | EXIF nie został zastosowany | Sprawdź etykiety orientacji i piksele |
| Cała strona jest lekko pochylona | kąt strzału | Niezależna ocena korekcji pochylenia |
| Strona ma kształt trapezu | zniekształcenie perspektywy | Korekta po wykryciu granic papieru |
| Tekst do góry nogami, ale bez znaczników | Brakujące metadane | Oceniaj po treści strony, nie zgaduj w ciemno |
Zapis współrzędnych powinien rozpocząć się po obrocie
Jeśli OCR zwróci pole tekstowe na dostosowanym obrazie, współrzędne pola odpowiadają dostosowanemu obrazowi, a nie oryginalnie przechwyconemu obrazowi. Dlatego należy zachować trzy informacje: rozmiar wejściowy, transformację orientacji i rozmiar wyjściowy. Podczas wyświetlania podświetlenia zastosuj odwrotną transformację współrzędnych i wróć do pierwotnej pozycji obrazu.
Tylko zapisanie grupy pól bez zapisywania, do którego obrazu należy, pozycja podświetlenia będzie odbiegać od tekstu.
Zorientuj obraz przed tłumaczeniem
Podczas przetwarzania zeskanowanych materiałów za pośrednictwem portalu OCR i tłumaczeń OmniDoc (portal produktowy) można najpierw potwierdzić orientację względem oryginału. Orientacja, perspektywa i przejrzystość to trzy różne elementy kontroli, które należy potwierdzić osobno.
Po jasnym ustaleniu warunków wejściowych wyniki dwujęzyczne służą do oceny jakości tłumaczenia. Jeśli przypiszesz brakujące słowa do modelu tłumaczenia za każdym razem, gdy je napotkasz, często przeoczysz prawdziwy problem z wprowadzaniem danych.
Źródła: Pillow ImageOps.
📊 Porównanie rdzeni
| Obiekt przetwarzania | Metoda przetwarzania | Czy ukończone przezexif_transpose |
|---|---|---|
| Flaga kierunku EXIF | Dostosuj piksele za pomocą znaczników | Tak |
| Cała strona jest lekko pochylona | Korekcja kąta strzału | Nie, wymagana jest niezależna ocena |
| Strona ma kształt trapezu | korekta perspektywy | Nie, należy wykryć granice papieru |
🎯 Która metoda jest dla Ciebie odpowiednia?
jeśli…
- Przeglądarka OK, wyniki OCR na boki: Najpierw zastosuj orientację EXIF, a następnie ponownie wprowadź OCR.
- Ogólne przekrzywienie zdjęcia: Potraktuj korekcję pochylenia jako niezależny krok i nie oczekuj, że przetwarzanie orientacji rozwiąże problem.
- Krawędź papieru jest trapezowa: Najpierw wykryj krawędź papieru, a następnie przeprowadź korektę perspektywy.
- Trzeba zaznaczyć oryginalną pozycję obrazu: Zapisz rozmiar wejściowy i informacje o transformacji, a następnie wykonaj odwrotną transformację podczas wyświetlania.
❓ Często zadawane pytania (FAQ)
1. Czy exif_transpose może wyprostować krzywy papier?
nie mogę. Dopasowuje jedynie piksele w oparciu o znaczniki orientacji EXIF i nie obsługuje kątów fotografowania ani zniekształceń perspektywy, które wymagają dodatkowego przetwarzania geometrycznego.
2. Dlaczego przeglądarka wyświetla normalnie, ale wynik OCR jest poziomy?
Przeglądarka stosuje znaczniki orientacji EXIF, ale same piksele nie mogą zostać obrócone. Jeśli OCR zignoruje ten znak, przeczyta stronę w innym kierunku.
3. Czy przykładowy kod może pokazać, jak bardzo poprawił się współczynnik rozpoznawalności?
nie mogę. W przykładzie zastosowano piksele syntetyczne, aby sprawdzić, czy znaczniki orientacji zostały zastosowane prawidłowo, bez wywoływania silnika OCR i bez symulowania prawdziwego tekstu.
4. Dlaczego ramka zwrócona przez OCR nie odpowiada położeniu oryginalnego obrazu?
Jeśli OCR jest uruchamiany na dostosowanej mapie, współrzędne skrzynki odpowiadają dostosowanej mapie. Konieczne jest zarejestrowanie rozmiaru wejściowego, transformacji i rozmiaru wyjściowego, a następnie wykonanie odwrotnej transformacji podczas wyświetlania.
📝 Podsumowanie
Jeśli chodzi o orientację zdjęć z telefonu komórkowego, najpierw sprawdź, czy jest to kierunek wyświetlania, czy kierunek pikseli, a następnie zajmij się odpowiednio kierunkiem, nachyleniem i perspektywą. Prosimy o zachowanie oryginałów i dokonanie przeglądu przed przetwarzaniem ważnych dokumentów.
Wypróbuj teraz: prześlij dokument, aby rozpocząć tłumaczenie, zachowując oryginalny układ


