Optyczne rozpoznawanie znaków (OCR) zamienia obrazy tekstu — skany, zdjęcia ze smartfonów, pliki PDF — na ciągi znaków czytelne dla maszyn, a coraz częściej na dane strukturalne. Nowoczesne OCR to potok, który czyści obraz, znajduje tekst, odczytuje go i eksportuje bogate metadane, dzięki czemu systemy podrzędne mogą wyszukiwać, indeksować lub wyodrębniać pola. Dwa szeroko stosowane standardy wyjściowe to hOCR, mikroformat HTML dla tekstu i układu, oraz ALTO XML, schemat zorientowany na biblioteki/archiwa; oba zachowują pozycje, kolejność czytania i inne wskazówki dotyczące układu i są obsługiwane przez popularne silniki, takie jak Tesseract.
Przetwarzanie wstępne. Jakość OCR zaczyna się od czyszczenia obrazu: konwersji do skali szarości, odszumiania, progowania (binaryzacji) i prostowania. Kanoniczne samouczki OpenCV obejmują globalne, adaptacyjne i Otsu progowanie — podstawowe elementy dla dokumentów o nierównomiernym oświetleniu lub bimodalnych histogramach. Gdy oświetlenie zmienia się na stronie (pomyśl o zdjęciach z telefonu), metody adaptacyjne często przewyższają pojedynczy globalny próg; Otsu automatycznie wybiera próg, analizując histogram. Równie ważna jest korekcja nachylenia: prostowanie oparte na transformacji Hougha (Transformacja Hougha) w połączeniu z binaryzacją Otsu to powszechny i skuteczny przepis w produkcyjnych potokach przetwarzania wstępnego.
Wykrywanie a rozpoznawanie. OCR jest zazwyczaj podzielone na wykrywanie tekstu (gdzie jest tekst?) i rozpoznawanie tekstu (co on mówi?). W scenach naturalnych i wielu skanach w pełni konwolucyjne detektory, takie jak EAST skutecznie przewidują czworokąty na poziomie słów lub linii bez ciężkich etapów propozycji i są zaimplementowane w popularnych zestawach narzędzi (np. samouczek wykrywania tekstu OpenCV). Na złożonych stronach (gazety, formularze, książki) ważna jest segmentacja linii/regionów i wnioskowanie o kolejności czytania:Kraken implementuje tradycyjną segmentację stref/linii i neuronową segmentację linii bazowej, z wyraźnym wsparciem dla różnych pism i kierunków (LTR/RTL/pionowo).
Modele rozpoznawania. Klasyczny koń roboczy open-source Tesseract (udostępniony jako open-source przez Google, z korzeniami w HP) ewoluował z klasyfikatora znaków w sekwencyjny rozpoznawacz oparty na LSTM i może emitować przeszukiwalne pliki PDF, wyjścia przyjazne dla hOCR/ALTOi więcej z CLI. Nowoczesne rozpoznawacze opierają się na modelowaniu sekwencji bez wstępnie posegmentowanych znaków. Connectionist Temporal Classification (CTC) pozostaje fundamentalne, ucząc się dopasowań między sekwencjami cech wejściowych a sekwencjami etykiet wyjściowych; jest szeroko stosowane w potokach rozpoznawania pisma ręcznego i tekstu w scenach.
W ostatnich latach Transformery przekształciły OCR. TrOCR używa kodera Vision Transformer oraz dekodera Text Transformer, trenowanego na dużych korpusach syntetycznych, a następnie dostrajanego na rzeczywistych danych, z dużą wydajnością w testach porównawczych tekstu drukowanego, pisanego odręcznie i w scenach (zobacz także dokumentację Hugging Face). Równolegle niektóre systemy omijają OCR na rzecz zrozumienia na dalszym etapie: Donut (Document Understanding Transformer) to koder-dekoder bez OCR, który bezpośrednio generuje ustrukturyzowane odpowiedzi (takie jak JSON klucz-wartość) z obrazów dokumentów (repo, karta modelu), unikając kumulacji błędów, gdy oddzielny krok OCR zasila system IE.
Jeśli chcesz gotowe do użycia rozwiązanie do odczytu tekstu w wielu pismach, EasyOCR oferuje proste API z ponad 80 modelami językowymi, zwracając ramki, tekst i pewność — przydatne do prototypów i pism nielacińskich. W przypadku dokumentów historycznych Kraken wyróżnia się segmentacją linii bazowej i świadomą pisma kolejnością czytania; do elastycznego trenowania na poziomie linii, Calamari opiera się na dziedzictwie Ocropy (Ocropy) z rozpoznawaczami (multi-)LSTM+CTC i CLI do dostrajania niestandardowych modeli.
Generalizacja zależy od danych. W przypadku pisma ręcznego Baza danych pisma ręcznego IAM dostarcza zróżnicowane pod względem pisarzy zdania w języku angielskim do trenowania i oceny; jest to długoletni zestaw referencyjny do rozpoznawania linii i słów. W przypadku tekstu w scenach COCO-Text nałożył obszerne adnotacje na MS-COCO, z etykietami dla tekstu drukowanego/pisanego odręcznie, czytelnego/nieczytelnego, pisma i pełnych transkrypcji (zobacz także oryginalną stronę projektu). Dziedzina ta w dużym stopniu opiera się również na syntetycznym wstępnym trenowaniu: SynthText in the Wild renderuje tekst na fotografiach z realistyczną geometrią i oświetleniem, dostarczając ogromne ilości danych do wstępnego trenowania detektorów i rozpoznawaczy (odniesienie kod i dane).
Konkursy pod parasolem Robust Reading ICDAR utrzymują ocenę w ryzach. Ostatnie zadania kładą nacisk na wykrywanie/odczyt od końca do końca i obejmują łączenie słów w frazy, z oficjalnym kodem raportującym precyzję/odwołanie/F-score, przecięcie nad sumą (IoU) i metryki odległości edycji na poziomie znaków — odzwierciedlając to, co praktycy powinni śledzić.
OCR rzadko kończy się na czystym tekście. Archiwa i biblioteki cyfrowe preferują ALTO XML , ponieważ koduje on fizyczny układ (bloki/linie/słowa ze współrzędnymi) obok treści i dobrze współgra z opakowaniem METS. hOCR mikroformat, w przeciwieństwie do tego, osadza ten sam pomysł w HTML/CSS, używając klas takich jak ocr_line i ocrx_word, co ułatwia wyświetlanie, edycję i transformację za pomocą narzędzi internetowych. Tesseract udostępnia oba — np. generowanie hOCR lub przeszukiwalnych plików PDF bezpośrednio z CLI (przewodnik po wyjściu PDF); opakowania Pythona, takie jak pytesseract dodają wygody. Istnieją konwertery do tłumaczenia między hOCR a ALTO, gdy repozytoria mają stałe standardy przyjmowania — zobacz tę wyselekcjonowaną listę narzędzi formatu plików OCR.
Najsilniejszym trendem jest konwergencja: wykrywanie, rozpoznawanie, modelowanie języka, a nawet dekodowanie specyficzne dla zadania łączą się w zunifikowane stosy Transformerów. Wstępne trenowanie na dużych korpusach syntetycznych pozostaje mnożnikiem siły. Modele bez OCR będą agresywnie konkurować wszędzie tam, gdzie celem są ustrukturyzowane wyniki, a nie dosłowne transkrypcje. Spodziewaj się również wdrożeń hybrydowych: lekkiego detektora plus rozpoznawacza w stylu TrOCR dla długiego tekstu i modelu w stylu Donut dla formularzy i paragonów.
Tesseract (GitHub) · Dokumentacja Tesseract · Specyfikacja hOCR · Tło ALTO · Detektor EAST · Wykrywanie tekstu OpenCV · TrOCR · Donut · COCO-Text · SynthText · Kraken · Calamari OCR · ICDAR RRC · pytesseract · Pismo ręczne IAM · Narzędzia formatu plików OCR · EasyOCR
Optical Character Recognition (OCR) to technologia używana do konwersji różnych rodzajów dokumentów, takich jak zeskanowane dokumenty papierowe, pliki PDF lub obrazy zrobione cyfrowym aparatem fotograficznym, na edytowalne i przeszukiwalne dane.
OCR działa poprzez skanowanie obrazu wejściowego lub dokumentu, segmentację obrazu na indywidualne znaki, a następnie porównanie każdego znaku z bazą danych kształtów znaków za pomocą rozpoznawania wzorców lub rozpoznawania cech.
OCR jest używany w różnych sektorach i aplikacjach, w tym do digitalizacji wydrukowanych dokumentów, włączania usług tekst-na-mowę, automatyzacji procesów wprowadzania danych i pomocy osobom niewidomym w lepszej interakcji z tekstem.
Pomimo wielkiego postępu w technologii OCR, nie jest ona nieomylna. Dokładność może różnić się w zależności od jakości oryginalnego dokumentu i specyfiki używanego oprogramowania OCR.
Chociaż OCR jest głównie przeznaczony dla tekstu drukowanego, niektóre zaawansowane systemy OCR są także w stanie rozpoznać jasne, konsekwentne pismo odręczne. Jednak zazwyczaj rozpoznawanie pisma odręcznego jest mniej dokładne ze względu na dużą różnorodność indywidualnych stylów pisania.
Tak, wiele systemów oprogramowania OCR potrafi rozpoznawać wiele języków. Ważne jest jednak, aby upewnić się, że konkretny język jest obsługiwany przez oprogramowanie, którego używasz.
OCR to skrót od Optical Character Recognition i służy do rozpoznawania tekstu drukowanego, natomiast ICR, czyli Intelligent Character Recognition, jest bardziej zaawansowany i służy do rozpoznawania tekstu pisanego odręcznie.
OCR najlepiej radzi sobie z czytelnymi, łatwymi do odczytania fontami i standardowymi rozmiarami tekstu. Chociaż może pracować z różnymi fontami i rozmiarami, dokładność zwykle maleje przy niecodziennych fontach lub bardzo małych rozmiarach tekstu.
OCR może mieć problemy z dokumentami o niskiej rozdzielczości, złożonymi czcionkami, źle wydrukowanymi tekstami, pismem odręcznym oraz dokumentami z tłem, które przeszkadza w tekście. Ponadto, mimo że może obsługiwać wiele języków, nie jest w stanie idealnie pokryć wszystkich języków.
Tak, OCR potrafi skanować kolorowy tekst i tło, choć zazwyczaj jest skuteczniejszy w przypadku wysokokontrastowych kombinacji kolorów, takich jak czarny tekst na białym tle. Dokładność może spadać, gdy kolor tekstu i tła nie tworzą wystarczającego kontrastu.
Format obrazu JPS, skrót od JPEG Stereo, to format pliku używany do przechowywania stereoskopowych zdjęć wykonanych aparatami cyfrowymi lub utworzonych za pomocą oprogramowania do renderowania 3D. Jest to zasadniczo układ dwóch obrazów JPEG obok siebie w jednym pliku, który po obejrzeniu za pomocą odpowiedniego oprogramowania lub sprzętu zapewnia efekt 3D. Ten format jest szczególnie przydatny do tworzenia iluzji głębi na obrazach, co poprawia wrażenia wizualne użytkowników z kompatybilnymi systemami wyświetlania lub okularami 3D.
Format JPS wykorzystuje dobrze znaną technikę kompresji JPEG (Joint Photographic Experts Group) do przechowywania dwóch obrazów. JPEG to metoda kompresji stratnej, co oznacza, że zmniejsza rozmiar pliku poprzez selektywne odrzucanie mniej ważnych informacji, często bez zauważalnego pogorszenia jakości obrazu dla ludzkiego oka. Dzięki temu pliki JPS są stosunkowo małe i łatwe w obsłudze, mimo że zawierają dwa obrazy zamiast jednego.
Plik JPS to zasadniczo plik JPEG o określonej strukturze. Zawiera dwa skompresowane obrazy JPEG obok siebie w jednej ramce. Obrazy te nazywane są obrazami lewego i prawego oka i przedstawiają nieco inne perspektywy tej samej sceny, naśladując niewielką różnicę między tym, co widzi każde z naszych oczu. Ta różnica pozwala na postrzeganie głębi, gdy obrazy są prawidłowo oglądane.
Standardowa rozdzielczość obrazu JPS jest zwykle dwukrotnie większa od szerokości standardowego obrazu JPEG, aby pomieścić zarówno obraz lewy, jak i prawy. Na przykład, jeśli standardowy obraz JPEG ma rozdzielczość 1920x1080 pikseli, obraz JPS będzie miał rozdzielczość 3840x1080 pikseli, przy czym każdy obraz obok siebie zajmuje połowę całkowitej szerokości. Jednak rozdzielczość może się różnić w zależności od źródła obrazu i zamierzonego zastosowania.
Aby wyświetlić obraz JPS w 3D, widz musi użyć kompatybilnego urządzenia wyświetlającego lub oprogramowania, które może interpretować obrazy obok siebie i prezentować je każdemu oku osobno. Można to osiągnąć za pomocą różnych metod, takich jak anaglif 3D, gdzie obrazy są filtrowane według koloru i oglądane przez kolorowe okulary; spolaryzowane 3D, gdzie obrazy są wyświetlane przez spolaryzowane filtry i oglądane przez spolaryzowane okulary; lub aktywna migawka 3D, gdzie obrazy są wyświetlane naprzemiennie i synchronizowane z okularami migawkowymi, które szybko się otwierają i zamykają, aby pokazać każdemu oku prawidłowy obraz.
Struktura pliku obrazu JPS jest podobna do struktury standardowego pliku JPEG. Zawiera nagłówek, który zawiera znacznik SOI (Start of Image), a następnie serię segmentów zawierających różne elementy metadanych i same dane obrazu. Segmenty obejmują znaczniki APP (Application), które mogą zawierać informacje takie jak metadane Exif, oraz segment DQT (Define Quantization Table), który definiuje tabele kwantyzacji używane do kompresji danych obrazu.
Jednym z kluczowych segmentów w pliku JPS jest segment JFIF (JPEG File Interchange Format), który określa, że plik jest zgodny ze standardem JFIF. Ten segment jest ważny dla zapewnienia zgodności z szeroką gamą oprogramowania i sprzętu. Zawiera również informacje takie jak współczynnik proporcji i rozdzielczość obrazu miniatury, które mogą być używane do szybkich podglądów.
Rzeczywiste dane obrazu w pliku JPS są przechowywane w segmencie SOS (Start of Scan), który następuje po nagłówku i segmentach metadanych. Ten segment zawiera skompresowane dane obrazu zarówno dla obrazu lewego, jak i prawego. Dane są kodowane za pomocą algorytmu kompresji JPEG, który obejmuje szereg kroków, w tym konwersję przestrzeni kolorów, podpróbkowanie, dyskretną transformację kosinusową (DCT), kwantyzację i kodowanie entropii.
Konwersja przestrzeni kolorów to proces konwersji danych obrazu z przestrzeni kolorów RGB, która jest powszechnie używana w aparatach cyfrowych i wyświetlaczach komputerowych, do przestrzeni kolorów YCbCr, która jest używana w kompresji JPEG. Ta konwersja dzieli obraz na składową luminancji (Y), która reprezentuje poziomy jasności, oraz dwie składowe chrominancji (Cb i Cr), które reprezentują informacje o kolorze. Jest to korzystne dla kompresji, ponieważ ludzkie oko jest bardziej wrażliwe na zmiany jasności niż koloru, co pozwala na bardziej agresywną kompresję składowych chrominancji bez znaczącego wpływu na postrzeganą jakość obrazu.
Podpróbkowanie to proces, który wykorzystuje niższą wrażliwość ludzkiego oka na szczegóły kolorów, zmniejszając rozdzielczość składowych chrominancji w stosunku do składowej luminancji. Typowe współczynniki podpróbkowania to 4:4:4 (bez podpróbkowania), 4:2:2 (zmniejszenie rozdzielczości poziomej chrominancji o połowę) i 4:2:0 (zmniejszenie zarówno rozdzielczości poziomej, jak i pionowej chrominancji o połowę). Wybór współczynnika podpróbkowania może wpływać na równowagę między jakością obrazu a rozmiarem pliku.
Dyskretna transformacja kosinusowa (DCT) jest stosowana do małych bloków obrazu (zwykle 8x8 pikseli) w celu przekształcenia danych domeny przestrzennej w domenę częstotliwości. Ten krok jest kluczowy dla kompresji JPEG, ponieważ pozwala na rozdzielenie szczegółów obrazu na składowe o różnym znaczeniu, przy czym składowe o wyższej częstotliwości są często mniej dostrzegalne dla ludzkiego oka. Składowe te mogą być następnie kwantyzowane lub zmniejszone w precyzji, aby osiągnąć kompresję.
Kwantyzacja to proces mapowania zakresu wartości na pojedynczą wartość kwantową, skutecznie zmniejszając precyzję współczynników DCT. Tutaj pojawia się stratny charakter kompresji JPEG, ponieważ część informacji o obrazie jest odrzucana. Stopień kwantyzacji jest określany przez tabele kwantyzacji określone w segmencie DQT i można go dostosować, aby zrównoważyć jakość obrazu z rozmiarem pliku.
Ostatnim krokiem w procesie kompresji JPEG jest kodowanie entropii, które jest formą kompresji bezstratnej. Najczęstszą metodą stosowaną w JPEG jest kodowanie Huffmana, które przypisuje krótsze kody do częstszych wartości i dłuższe kody do rzadszych wartości. Zmniejsza to ogólny rozmiar danych obrazu bez dalszej utraty informacji.
Oprócz standardowych technik kompresji JPEG format JPS może również zawierać specyficzne metadane dotyczące stereoskopowej natury obrazów. Te metadane mogą zawierać informacje o ustawieniach paralaksy, punktach zbieżności i wszelkich innych danych, które mogą być konieczne do prawidłowego wyświetlania efektu 3D. Te metadane są zwykle przechowywane w segmentach APP pliku.
Format JPS jest obsługiwany przez wiele aplikacji i urządzeń, w tym telewizory 3D, zestawy słuchawkowe VR i specjalistyczne przeglądarki zdjęć. Jednak nie jest tak szeroko obsługiwany jak standardowy format JPEG, więc użytkownicy mogą potrzebować użyć określonego oprogramowania lub przekonwertować pliki JPS do innego formatu w celu zapewnienia szerszej kompatybilności.
Jednym z wyzwań związanych z formatem JPS jest zapewnienie, że obrazy lewy i prawy są prawidłowo wyrównane i mają prawidłową paralaksę. Nieprawidłowe wyrównanie lub nieprawidłowa paralaksa może prowadzić do nieprzyjemnych wrażeń wizualnych i może powodować zmęczenie oczu lub bóle głowy. Dlatego ważne jest, aby fotografowie i artyści 3D starannie rejestrowali lub tworzyli obrazy z prawidłowymi parametrami stereoskopowymi.
Podsumowując, format obrazu JPS to specjalistyczny format pliku przeznaczony do przechowywania i wyświetlania obrazów stereoskopowych. Opiera się na ustalonych technikach kompresji JPEG, aby stworzyć kompaktowy i wydajny sposób przechowywania zdjęć 3D. Chociaż oferuje wyjątkowe wrażenia wizualne, format wymaga kompatybilnego sprzętu lub oprogramowania do oglądania obrazów w 3D i może stwarzać wyzwania pod względem wyrównania i paralaksy. Pomimo tych wyzwań format JPS pozostaje cennym narzędziem dla fotografów, artystów
Ten konwerter działa w całości w Twojej przeglądarce. Po wybraniu pliku jest on wczytywany do pamięci i konwertowany do wybranego formatu. Następnie możesz pobrać przekonwertowany plik.
Konwersje rozpoczynają się natychmiast, a większość plików jest konwertowana w mniej niż sekundę. Większe pliki mogą zająć więcej czasu.
Twoje pliki nigdy nie są przesyłane na nasze serwery. Są one konwertowane w Twojej przeglądarce, a następnie pobierany jest przekonwertowany plik. Nigdy nie widzimy Twoich plików.
Obsługujemy konwersję między wszystkimi formatami obrazów, w tym JPEG, PNG, GIF, WebP, SVG, BMP, TIFF i innymi.
Ten konwerter jest całkowicie darmowy i zawsze będzie darmowy. Ponieważ działa w Twojej przeglądarce, nie musimy płacić za serwery, więc nie musimy pobierać od Ciebie opłat.
Tak! Możesz konwertować dowolną liczbę plików jednocześnie. Wystarczy wybrać wiele plików podczas ich dodawania.