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 PCX, oznaczający "Picture Exchange", to format pliku graficznego rastrowego, który był powszechnie używany na komputerach z systemem DOS i Windows pod koniec lat 80. i 90. XX wieku. Opracowany przez ZSoft Corporation, był jednym z pierwszych szeroko akceptowanych formatów obrazów kolorowych na komputerach zgodnych z IBM PC. Format PCX jest znany ze swojej prostoty i łatwości implementacji, co przyczyniło się do jego powszechnego przyjęcia w początkach komputerów osobistych. Był szczególnie popularny w oprogramowaniu takim jak Microsoft Paintbrush, który później stał się Microsoft Paint, a także był używany do przechwytywania ekranu, wyjścia ze skanera i tapet na pulpit.
Format pliku PCX jest przeznaczony do reprezentowania zeskanowanych obrazów i innych typów danych obrazkowych. Obsługuje różne głębie kolorów, w tym obrazy monochromatyczne, 2-kolorowe, 4-kolorowe, 16-kolorowe, 256-kolorowe i 24-bitowe w prawdziwych kolorach. Format umożliwia stosowanie różnych rozdzielczości i proporcji, co czyni go uniwersalnym dla różnych urządzeń wyświetlających i wymagań drukowania. Pomimo swojej elastyczności, format PCX został w dużej mierze zastąpiony przez nowocześniejsze formaty obrazów, takie jak JPEG, PNG i GIF, które oferują lepszą kompresję i obsługę kolorów. Jednak zrozumienie formatu PCX jest nadal istotne dla osób zajmujących się systemami starszej generacji lub archiwami cyfrowymi zawierającymi pliki PCX.
Plik PCX składa się z nagłówka, danych obrazu i opcjonalnej palety 256 kolorów. Nagłówek ma długość 128 bajtów i zawiera ważne informacje o obrazie, takie jak używana wersja formatu PCX, wymiary obrazu, liczba płaszczyzn kolorów, liczba bitów na piksel na płaszczyznę kolorów i metoda kodowania. Metoda kodowania używana w plikach PCX to kodowanie o zmiennej długości (RLE), które jest prostą formą bezstratnej kompresji danych, która zmniejsza rozmiar pliku bez utraty jakości obrazu. RLE działa poprzez kompresowanie sekwencji identycznych bajtów do jednego bajtu, po którym następuje bajt licznika, który wskazuje, ile razy bajt powinien zostać powtórzony.
Dane obrazu w pliku PCX są zorganizowane w płaszczyzny, przy czym każda płaszczyzna reprezentuje inny składnik koloru. Na przykład obraz 24-bitowy miałby trzy płaszczyzny, po jednej dla składowych czerwonej, zielonej i niebieskiej. Dane w każdej płaszczyźnie są kodowane za pomocą RLE i przechowywane w wierszach, przy czym każdy wiersz reprezentuje poziomą linię pikseli. Wiersze są przechowywane od góry do dołu, a w każdym wierszu piksele są przechowywane od lewej do prawej. W przypadku obrazów o głębi kolorów mniejszej niż 24 bity, na końcu pliku może znajdować się dodatkowa sekcja palety, która definiuje kolory użyte w obrazie.
Opcjonalna paleta 256 kolorów jest kluczową cechą formatu PCX dla obrazów o 8 bitach na piksel lub mniej. Ta paleta zwykle znajduje się na końcu pliku, po danych obrazu, i składa się z serii wpisów 3-bajtowych, przy czym każdy wpis reprezentuje składowe czerwoną, zieloną i niebieską pojedynczego koloru. Paleta umożliwia reprezentowanie w obrazie szerokiej gamy kolorów, nawet jeśli każdy piksel odwołuje się tylko do indeksu koloru, a nie przechowuje pełnej wartości koloru. To podejście do indeksowanych kolorów jest wydajne pod względem rozmiaru pliku, ale ogranicza wierność kolorów w porównaniu do obrazów w prawdziwych kolorach.
Jedną z zalet formatu PCX jest jego prostota, która ułatwiła programistom implementację w swoim oprogramowaniu. Nagłówek formatu ma stały rozmiar i układ, co umożliwia prostą analizę składniową i przetwarzanie danych obrazu. Ponadto kompresja RLE używana w plikach PCX jest stosunkowo prosta w porównaniu z bardziej złożonymi algorytmami kompresji używanymi w innych formatach. Ta prostota oznaczała, że pliki PCX można było łatwo generować i manipulować na ograniczonym sprzęcie tamtych czasów, bez potrzeby dużej mocy obliczeniowej lub pamięci.
Pomimo swojej prostoty, format PCX ma pewne ograniczenia. Jedną z głównych wad jest brak obsługi przezroczystości lub kanałów alfa, które są niezbędne do współczesnej pracy graficznej, takiej jak projektowanie ikon lub grafika do gier wideo. Ponadto kompresja RLE, choć skuteczna dla niektórych typów obrazów, nie jest tak wydajna jak algorytmy kompresji używane w formatach takich jak JPEG lub PNG. Może to skutkować większymi rozmiarami plików PCX, szczególnie w przypadku obrazów o wysokiej rozdzielczości lub w prawdziwych kolorach.
Kolejnym ograniczeniem formatu PCX jest brak obsługi metadanych. W przeciwieństwie do formatów takich jak TIFF lub JPEG, które mogą zawierać szeroki zakres metadanych o obrazie, takich jak ustawienia aparatu użyte do zrobienia zdjęcia lub data i godzina utworzenia obrazu, pliki PCX zawierają tylko najbardziej podstawowe informacje niezbędne do wyświetlenia obrazu. To sprawia, że format jest mniej odpowiedni do profesjonalnej fotografii lub dowolnego zastosowania, w którym zachowanie takich informacji jest ważne.
Pomimo tych ograniczeń, format PCX był szeroko stosowany w przeszłości i nadal jest rozpoznawany przez wiele programów do edycji i przeglądania obrazów. Jego dziedzictwo jest widoczne w ciągłym wsparciu dla formatu w oprogramowaniu takim jak Adobe Photoshop, GIMP i CorelDRAW. Dla użytkowników pracujących ze starszymi systemami lub potrzebujących dostępu do historycznych treści cyfrowych, możliwość obsługi plików PCX pozostaje istotna. Ponadto prostota formatu sprawia, że jest to przydatne studium przypadku dla osób uczących się o formatach plików graficznych i technikach kompresji danych.
Format PCX odegrał również rolę we wczesnych dniach publikacji na komputery stacjonarne i projektowania graficznego. Jego obsługa wielu rozdzielczości i głębi kolorów uczyniła go elastycznym wyborem do tworzenia i wymiany grafiki między różnymi platformami oprogramowania i sprzętu. W czasach, gdy zastrzeżone formaty mogły tworzyć bariery dla współpracy, format PCX służył jako wspólny mianownik, który ułatwiał udostępnianie obrazów w różnych systemach.
Pod względem technicznej implementacji, utworzenie pliku PCX polega na zapisaniu 128-bajtowego nagłówka z prawidłowymi wartościami właściwości obrazu, a następnie skompresowanych danych obrazu RLE dla każdej płaszczyzny kolorów. Jeśli obraz używa palety, dane palety są dołączane do końca pliku. Podczas odczytywania pliku PCX proces jest odwracany: nagłówek jest odczytywany w celu określenia właściwości obrazu, dane RLE są dekompresowane w celu odtworzenia obrazu, a jeśli jest obecna, paleta jest odczytywana w celu odwzorowania indeksów kolorów na odpowiadające im wartości RGB.
Nagłówek PCX zawiera kilka pól, które są kluczowe dla interpretacji danych obrazu. Należą do nich producent (zawsze ustawiony na 10 dla ZSoft), wersja (wskazująca wersję formatu PCX), kodowanie (zawsze ustawione na 1 dla kompresji RLE), bity na piksel (wskazujące głębię kolorów), wymiary obrazu (podane przez pola Xmin, Ymin, Xmax i Ymax), rozdzielczości poziome i pionowe, liczba płaszczyzn kolorów, bajty na linię (wskazujące liczbę bajtów w każdym wierszu płaszczyzny kolorów) i flaga dla obrazów w skali szarości, między innymi.
Kompresja RLE w formacie PCX jest zaprojektowana tak, aby była wydajna w przypadku obrazów z dużymi obszarami jednolitego koloru, co było powszechne w ówczesnej grafice komputerowej. Na przykład obraz z dużym niebieskim niebem można skutecznie skompresować, ponieważ niebieskie piksele byłyby reprezentowane przez jeden bajt, po którym następuje bajt licznika, zamiast przechowywać każdy niebieski piksel osobno. Jednak w przypadku obrazów o bardziej złożonych wzorach lub wariantach kolorów kompresja RLE jest mniej skuteczna, a rozmiar wynikowego pliku może nie być znacznie mniejszy niż obraz nieskompresowany.
Podsumowując, format obrazu PCX jest historycznym formatem pliku, który odegrał znaczącą rolę we wczes
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.