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 PCT, znany również jako format Macintosh PICT, to format pliku graficznego, który był głównie używany na komputerach Macintosh. Początkowo został zaprojektowany jako format metapliku w latach 80., co oznacza, że mógł zawierać zarówno dane bitmapowe, jak i wektorowe. Ta wszechstronność sprawiła, że stał się popularnym wyborem do przechowywania i przesyłania szerokiej gamy typów grafiki, od prostych ilustracji po złożone obrazy. Format PCT został opracowany przez Apple Inc. w celu ułatwienia przesyłania grafiki między różnymi aplikacjami i służył jako format zrzutu grafiki dla biblioteki graficznej QuickDraw, która była podstawą graficznego interfejsu użytkownika wczesnych systemów operacyjnych Macintosh.
Format PCT jest wyjątkowy, ponieważ może przechowywać zarówno informacje wektorowe, jak i bitmapowe. Grafika wektorowa składa się ze ścieżek zdefiniowanych przez równania matematyczne, co czyni je skalowalnymi bez utraty jakości. Grafika bitmapowa natomiast składa się z pikseli, co może powodować utratę szczegółów po powiększeniu. Łącząc te dwa typy danych, pliki PCT mogą wydajnie przechowywać złożone obrazy, takie jak ilustracje z tekstem, rysunki liniowe i elementy fotograficzne, zachowując jednocześnie możliwość skalowania niektórych części obrazu bez pogorszenia jakości.
Pliki PCT są ustrukturyzowane w taki sposób, że zaczynają się od nagłówka o długości 512 bajtów, który jest zwykle wypełniony zerami i nie jest używany przez sam format PICT. Następnie następuje nagłówek pliku PICT, który zawiera ważne informacje, takie jak numer wersji i rozmiar obrazu. Po nagłówku następują dane obrazu, które składają się z kodów operacyjnych (kodów operacji), które określają, w jaki sposób obraz ma być renderowany. Kody operacyjne mogą definiować linie, kształty, kolory i inne elementy graficzne, a także dane bitmapowe dla obrazów rastrowych.
Istnieją dwie główne wersje formatu PCT: PICT1 i PICT2. PICT1 to oryginalna wersja, która obsługuje podstawowe polecenia rysowania i ograniczoną liczbę kolorów. PICT2, wprowadzony wraz z Macintosh II, dodał obsługę bardziej zaawansowanych możliwości obrazowania, takich jak 24-bitowy kolor, gradienty i kompresja JPEG. PICT2 wprowadził również koncepcję „regionów”, która umożliwiała bardziej złożone operacje przycinania, w których tylko niektóre części obrazu byłyby rysowane na podstawie zdefiniowanego regionu.
Jedną z kluczowych cech formatu PCT jest jego zdolność do kompresji danych obrazu. Pliki PCT wykorzystują RLE (Run-Length Encoding), prostą formę kompresji danych, w której sekwencje tej samej wartości danych są przechowywane jako pojedyncza wartość i liczba, a nie jako oryginalny przebieg. Jest to szczególnie skuteczne w przypadku obrazów z dużymi obszarami jednolitego koloru. PICT2 rozszerzył tę możliwość, obsługując kompresję JPEG, która jest bardziej wydajna w kompresji obrazów fotograficznych.
Format PCT zawiera również szereg innych funkcji, które były zaawansowane jak na swoje czasy. Obsługuje wiele rozdzielczości, co oznacza, że obraz może być renderowany na różnych poziomach szczegółowości w zależności od możliwości urządzenia wyjściowego. Jest to szczególnie przydatne, gdy ten sam obraz ma być wyświetlany zarówno na ekranie, jak i na drukarce, które zwykle mają bardzo różne wymagania dotyczące rozdzielczości. Dodatkowo pliki PCT mogą zawierać obraz podglądu, który jest małą reprezentacją bitmapową danych wektorowych. Dzięki temu aplikacje mogą szybko wyświetlić miniaturę obrazu bez konieczności renderowania całej grafiki wektorowej.
Pomimo swoich możliwości format PCT ma kilka ograniczeń. Jednym z najważniejszych jest brak obsługi przezroczystości. W przeciwieństwie do formatów takich jak GIF i PNG, PCT nie pozwala na tworzenie obrazów z przezroczystymi tłami lub półprzezroczystymi elementami. To ograniczenie może być problematyczne podczas nakładania obrazów lub gdy obraz musi zostać umieszczony na tle o różnych kolorach lub wzorach.
Kolejnym ograniczeniem formatu PCT jest jego zależność od platformy. PCT został zaprojektowany dla systemu operacyjnego Macintosh i QuickDraw, co oznacza, że nie jest natywnie obsługiwany na innych platformach. Chociaż istnieją narzędzia i biblioteki innych firm, które mogą odczytywać i zapisywać pliki PCT w systemach Windows i innych systemach operacyjnych, format ten nigdy nie zyskał szerokiego zastosowania poza społecznością Macintosh. Doprowadziło to do problemów ze zgodnością, zwłaszcza że z czasem zmniejszyło się wykorzystanie oprogramowania specyficznego dla Macintosh.
Format PCT budzi również obawy dotyczące bezpieczeństwa. W przeszłości odkryto luki w sposobie obsługi plików PCT przez niektóre aplikacje, co potencjalnie mogło umożliwić wykonanie złośliwego kodu. Jest to powszechny problem w przypadku wielu formatów plików, w których złożoność i wsteczna kompatybilność mogą prowadzić do zaniedbań w zakresie bezpieczeństwa. W rezultacie niektóre nowoczesne aplikacje porzuciły obsługę formatu PCT lub obsługują go w bardziej bezpiecznym, odizolowanym środowisku.
Pod względem rozszerzenia pliku pliki PCT są zwykle zapisywane z rozszerzeniem „.pct” lub „.pict”. Jednak ze względu na niewrażliwość systemu plików Macintosh na wielkość liter, rozszerzenia te są wymienne. Podczas przesyłania plików PCT do systemów z systemami plików rozróżniającymi wielkość liter, takimi jak Linux, należy zachować ostrożność, aby zachować prawidłowe rozszerzenie pliku w celu zapewnienia zgodności.
Format PCT został w dużej mierze zastąpiony przez bardziej nowoczesne formaty obrazów, takie jak PNG, JPEG i SVG. Formaty te oferują lepszą kompresję, szerszą obsługę platform i dodatkowe funkcje, takie jak przezroczystość i animacja. Jednak pliki PCT są nadal używane w niektórych starszych systemach i aplikacjach, szczególnie tych, które zostały zaprojektowane dla starszych systemów operacyjnych Macintosh. Z tego powodu zrozumienie formatu PCT może być ważne w przypadku pracy z archiwalnymi materiałami graficznymi lub podczas korzystania ze starszego oprogramowania Macintosh.
Dla programistów i użytkowników pracujących z plikami PCT dostępnych jest wiele narzędzi do przeglądania, konwertowania i edytowania tych obrazów. GraphicConverter to popularna aplikacja Macintosh, która może obsługiwać pliki PCT wśród wielu innych formatów. Adobe Photoshop ma również możliwość otwierania i konwertowania plików PCT, chociaż nowsze wersje mogą porzucić obsługę ze względu na malejące znaczenie formatu. Istnieje również kilka narzędzi online, które umożliwiają użytkownikom konwertowanie plików PCT do bardziej popularnych formatów, takich jak JPEG lub PNG.
W dziedzinie programowania biblioteki takie jak ImageMagick i Python Imaging Library (PIL) mogą być używane do programowego manipulowania plikami PCT. Biblioteki te zapewniają funkcje do odczytywania, zapisywania i konwertowania plików PCT, a także do wykonywania zadań przetwarzania obrazu. Jednak programiści powinni pamiętać, że obsługa plików PCT w tych bibliotekach może być ograniczona w porównaniu do bardziej nowoczesnych formatów, a obsługa plików PCT poprawnie może wymagać dodatkowego wysiłku.
Podsumowując, format obrazu PCT odegrał znaczącą rolę we wczesnych dniach komputerów Macintosh, zapewniając elastyczny i wydajny sposób przechowywania i manipulowania grafiką. Chociaż został w dużej mierze zastąpiony przez nowsze formaty, jego dziedzictwo trwa w postaci starszej zawartości i aplikacji, które nadal polegają na tym niegdyś wszechobecnym formacie. Zrozumienie aspektów technicznych PCT, od jego struktury i możliwości po jego ograniczenia i obawy dotyczące bezpieczeństwa, jest niezbędne dla profesjonalistów, którzy mogą napotkać ten format w pracy archiwalnej lub podczas interakcji ze starszymi systemami Macintosh.
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.