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 PALM, znany również jako Palm Bitmap, to format pliku grafiki rastrowej związany z urządzeniami Palm OS. Został zaprojektowany do przechowywania obrazów na komputerach osobistych Palm OS (Personal Digital Assistants), które były popularne pod koniec lat 90. i na początku XXI wieku. Format jest specjalnie dostosowany do ograniczeń wyświetlania i pamięci tych urządzeń przenośnych, dlatego jest zoptymalizowany pod kątem obrazów o niskiej rozdzielczości i indeksowanych kolorach, które można szybko renderować na ekranie urządzenia.
Obrazy PALM charakteryzują się prostotą i wydajnością. Format obsługuje ograniczoną paletę kolorów, zwykle do 256 kolorów, co jest wystarczające dla małych ekranów komputerów osobistych. To podejście indeksowanych kolorów oznacza, że każdy piksel na obrazie nie jest reprezentowany przez własną wartość koloru, ale raczej przez indeks do tabeli kolorów, która zawiera rzeczywiste wartości RGB (czerwony, zielony, niebieski). Ta metoda reprezentacji kolorów jest bardzo wydajna pod względem pamięci, co jest kluczowe dla urządzeń o ograniczonej pamięci RAM i pojemności pamięci masowej.
Podstawowa struktura pliku obrazu PALM składa się z nagłówka, palety kolorów (jeśli obraz nie jest monochromatyczny), danych bitmapy i ewentualnie informacji o przezroczystości. Nagłówek zawiera metadane dotyczące obrazu, takie jak jego szerokość i wysokość w pikselach, głębia bitowa (która określa liczbę kolorów) oraz flagi wskazujące, czy obraz ma indeks przezroczystości lub jest skompresowany.
Kompresja to kolejna cecha formatu obrazu PALM. Aby zaoszczędzić jeszcze więcej miejsca, obrazy PALM można kompresować za pomocą algorytmu kodowania długości serii (RLE). RLE to forma bezstratnej kompresji danych, w której sekwencje tej samej wartości danych (serie) są przechowywane jako pojedyncza wartość danych i liczba. Jest to szczególnie skuteczne w przypadku obrazów z dużymi obszarami jednolitego koloru, co jest powszechne w ikonach i elementach interfejsu użytkownika używanych w komputerach osobistych.
Przezroczystość w obrazach PALM jest obsługiwana za pomocą indeksu przezroczystości. Ten indeks wskazuje na kolor w palecie, który jest oznaczony jako przezroczysty, umożliwiając nakładanie obrazów na różne tła bez blokowatego, nieprzezroczystego prostokąta wokół obrazu. Ta funkcja jest niezbędna do tworzenia płynnego interfejsu użytkownika, w którym ikony i inne grafiki muszą łączyć się ze swoim tłem.
Paleta kolorów w obrazie PALM jest kluczowym elementem, ponieważ definiuje zestaw kolorów używanych w obrazie. Paleta jest tablicą wpisów kolorów, gdzie każdy wpis jest zwykle 16-bitową wartością reprezentującą kolor RGB. Głębia bitowa obrazu określa maksymalną liczbę kolorów w palecie. Na przykład obraz o głębokości 1 bita miałby paletę 2-kolorową (zwykle czarno-białą), podczas gdy obraz o głębokości 8 bitów mógłby mieć do 256 kolorów.
Dane bitmapy w pliku obrazu PALM to reprezentacja obrazu piksel po pikselu. Każdy piksel jest przechowywany jako indeks w palecie kolorów. Przechowywanie tych danych może odbywać się w surowym, nieskompresowanym formacie lub skompresowanym za pomocą RLE. W formacie nieskompresowanym dane bitmapy są po prostu sekwencją indeksów, jeden dla każdego piksela, ułożonych w wierszach od góry do dołu i kolumnach od lewej do prawej.
Jednym z unikalnych aspektów formatu obrazu PALM jest obsługa wielu głębi bitowych w jednym obrazie. Oznacza to, że obraz może zawierać obszary o różnych rozdzielczościach kolorów. Na przykład obraz PALM może mieć ikonę o wysokiej głębi kolorów (8 bitów) obok elementu dekoracyjnego o niskiej głębi kolorów (1 bit). Ta elastyczność pozwala na wydajne wykorzystanie pamięci poprzez używanie wyższych głębi bitowych tylko tam, gdzie jest to konieczne dla jakości wizualnej obrazu.
Format obrazu PALM obejmuje również obsługę niestandardowych ikon i grafiki menu, które są niezbędne dla interfejsu użytkownika aplikacji Palm OS. Obrazy te można zintegrować z kodem aplikacji i wyświetlać na urządzeniu za pomocą interfejsu API Palm OS (Application Programming Interface). Interfejs API zapewnia funkcje ładowania, wyświetlania i manipulowania obrazami PALM, co ułatwia programistom włączanie grafiki do swoich aplikacji.
Pomimo swojej wydajności i użyteczności w kontekście urządzeń Palm OS, format obrazu PALM ma kilka ograniczeń w porównaniu z bardziej nowoczesnymi formatami obrazu. Na przykład nie obsługuje obrazów w prawdziwych kolorach (24 bity lub więcej), co ogranicza jego zastosowanie w aplikacjach wymagających grafiki o wysokiej wierności. Ponadto format nie obsługuje zaawansowanych funkcji, takich jak warstwy, kanały alfa (poza prostą przezroczystością) lub metadane, takie jak EXIF (Exchangeable Image File Format), powszechnie występujące w formatach takich jak JPEG lub PNG.
Format obrazu PALM nie jest szeroko stosowany poza urządzeniami i aplikacjami Palm OS. Wraz ze spadkiem popularności komputerów osobistych Palm OS i pojawieniem się smartfonów i innych urządzeń mobilnych z bardziej zaawansowanymi systemami operacyjnymi i możliwościami graficznymi, format PALM stał się w dużej mierze przestarzały. Nowoczesne urządzenia mobilne obsługują szeroką gamę formatów obrazu, w tym JPEG, PNG i GIF, które oferują większą głębię kolorów, lepszą kompresję i więcej funkcji niż format PALM.
Do celów historycznych i archiwalnych może być konieczne przekonwertowanie obrazów PALM na bardziej współczesne formaty. Można to zrobić za pomocą specjalistycznych narzędzi programowych, które mogą odczytać format PALM i przekształcić go w format taki jak PNG lub JPEG. Narzędzia te zwykle analizują strukturę pliku PALM, wyodrębniają dane bitmapy i paletę kolorów, a następnie rekonstruują obraz w formacie docelowym, zachowując jak najwięcej oryginalnej jakości obrazu.
Pod względem rozszerzenia pliku obrazy PALM zwykle używają rozszerzenia „.pdb” (Palm Database), ponieważ są często przechowywane w plikach Palm Database, które są kontenerami dla różnych typów danych używanych przez aplikacje Palm OS. Dane obrazu są przechowywane w określonym rekordzie w pliku PDB, do którego aplikacja może uzyskać dostęp w razie potrzeby. Ta integracja z systemem Palm Database ułatwia pakowanie obrazów z innymi danymi aplikacji, takimi jak tekst lub ustawienia konfiguracji.
Tworzenie i manipulowanie obrazami PALM wymaga zrozumienia specyfikacji i ograniczeń formatu. Programiści pracujący z Palm OS zwykle używali zestawów narzędzi do tworzenia oprogramowania (SDK) dostarczanych przez Palm, które zawierały narzędzia i dokumentację do pracy z obrazami PALM. Te SDK zapewniały biblioteki do obsługi obrazów, umożliwiając programistom tworzenie, modyfikowanie i wyświetlanie obrazów PALM w swoich aplikacjach bez konieczności zarządzania szczegółami niskiego poziomu formatu pliku.
Podsumowując, format obrazu PALM odegrał znaczącą rolę w erze komputer ów osobistych Palm OS, zapewniając prosty i wydajny sposób obsługi grafiki na urządzeniach o ograniczonych zasobach. Chociaż został prześcignięty przez bardziej zaawansowane formaty obrazu we współczesnym krajobrazie technologicznym, zrozumienie formatu PALM daje wgląd w kwestie projektowe i ograniczenia wcześniejszych platform komputerowych. Dla osób zajmujących się starszymi aplikacjami lub urządzeniami Palm OS, znajomość formatu PALM pozostaje istotna dla utrzymania i konwersji starych zasobów obrazu.
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.