![]() ![]() |
ARCHIV |
|||||
![]() ![]() ![]() ![]() ![]() ![]() |
|
Oto rada, która zaoszczędziłaby mi czas zmarnowany na podłączanie skanera do systemu gdybym ją znał wcześniej: w przypadku skanera USB i jąder serii 2.6 zalecane jest używanie biblioteki libusb. W takim przypadku do pliku konfiguracyjnego skanera (z pakietu SANE) warto dopisać następującą linię: device auto Dla przykładu: używam skanera Agfa Snapscan e50 USB, plik konfiguracyjny to /etc/sane.d/snapscan.conf, po dodaniu ww. linii polecenie scanimage -L nareszcie "znajduje" skaner wyświetlając potwierdzenie "device `snapscan:libusb:003:002' is a AGFA SNAPSCAN e50 flatbed scanner". Umożliwia to również korzystanie z graficznych nakładek na SANE - programów XSane, kooka i xscanimage. Najciekawszy jest fakt, że Vuescan działał w moim systemie bez problemu nawet w sytuacji gdy SANE nie znajdowało skanera. Magia? ;-) |
Dobry materiał wyjściowy może być skanowany już w rozdzielczości 200dpi, jest to rozdzielczość w której znaki są odpowiednio duże zarówno dla ludzkich oczu jak i dla programu. W praktyce przyjęło się stosowanie rozdzielczości 300dpi i część programów spodziewa się materiału zeskanowanego właśnie w tej rozdzielczości, wyjątkiem jest np. Clara przystosowana przez autorów do 600dpi. Powiększanie rozdzielczości skanowania jest uzasadnione tylko w przypadku bardzo drobnego druku - na przykład liter nie większych niż 6 punktów. Należy pamiętać, że wraz ze wzrostem rozdzielczości nie tylko rośnie wielkość wyjściowego pliku ale powiększa się ilość zbędnych szczegółów, które w najgorszym przypadku mogą zaśmiecić skan i zmniejszyć wydajność procesu OCR.
Drugą, oprócz wielkości tekstu, istotną cechą materiału do OCR-owania jest ilość kolorów. W zasadzie wystarczy zeskanować materiał do pliku w którym na każdy piksel przypada 1-bit (skan czarno-biały) ale czasem dla podniesienia jakości pracy warto zeskanować tekst stosując 256 poziomów szarości (256 greyscale). Część programów życzy sobie jednak tylko czarno-białych skanów (nie posiadają możliwości konwersji do bitmapy) ale nawet w takim przypadku warto zeskanować materiał w skali szarości i przekształcić np. GIMP-em lub convertem (z pakietu ImageMagick) do bitmapy.
W GIMP-ie 2.0 taką operację przeprowadzam wybierając z menu kolejno opcje: Layers -> Colors -> Threshold (w wersji polskiej: Warstwa -> Kolory -> Progowanie) i reguluję zakres wartości (Threshold Range; po polsku Zakres Progowania) z włączoną opcją podglądu (Preview) aż do uzyskania zadowalającego obrazu. Następnie zapisuję plik w formacie PNM (o formacie opowiadam niżej) co pozwoli mi na jego późniejszą konwersję.
Korzystając z pakietu ImageMagick wystarczy użyć polecenia convert:
convert -monochrome skan.tif skan_mono.tif
lub jego dokładniejszej wersji:
convert -threshold n skan.tif skan_mono.tif
gdzie n oznacza próg jasności piksela powyżej którego piksel zostanie uznany za biały, a poniżej tego progu za czarny. Wartość ta przymuje wartości od 0 do 255 i będzie różna w zależności o jakości skanu nie ma więc innej metody niż kilkukrotne próby z różnymi wartościami do momentu uzyskania dobrego efektu. Tego typu prosta metoda "binaryzacji" obrazu może być przeprowadzona na dwa sposoby. W pierwszym ustawienie progu (threshold) jest globalne dla całego obrazu, w drugiej brane jest pod uwagę sąsiedztwo obrabianych pikseli w, z reguły nierównomiernie nasyconych, obrazach. Niestety nie umiem powiedzieć, którego sposobu używa program convert, może ktoś z czytelników mnie oświeci na forum.
Skanowane materiały zapisuję do plików w formacie TIFF. Format ten, w odróżnieniu od JPEG czy GIF, jest formatem bezstratnym czyli żadna informacja uzyskana ze skanera (z materiału źródłowego) nie zostanie utracona w procesie kompresji obrazu. Niektóre programy OCR przyjmują pliki wejściowe jedynie w formacie PNM. PNM to akronim z angielskiego "Portable aNyMap" (przenośna, dowolna mapa bitowa) odnoszący się do trzech formatów plików graficznych:
Zaletą tego formatu jest możliwość łatwej konwersji np. ze skali szarości do formatu czarno-białego. W przypadku gdy program wymaga pliku graficznego w postaci PBM lub PGM (jak np: Clara OCR) do konwersji można użyć popularnego (i obecnego w większości dystrybucji) pakietu netpbm (http://netpbm.sourceforge.net/). Według podręcznika Clara OCR formaty PBM i PGM nie przechowują informacji o rodzielczości w jakiej skanowany był materiał, warto więc albo zachować oryginalnego TIFFa albo zapisać tę informację.
Mam już gotowe skany, czas na zajęcie się rozpoznawaniem tekstu. Do wyboru mam kilkanaście aplikacji lecz jedynie kilka zasługuje na miano użytecznych. A szkoda, bo najstarsze programy OCR działające w systemach "*nixopodobych" osiągnęły niezłą funkcjonalność już w połowie ostatniego dziesięciolecia XX wieku. Minęło więc ok. 10 lat, a wielkiego postępu w świecie *niksa nie widać. Postanowiłem zbyt wiele nie narzekać ale po prostu zmierzyć się z problemem...
Na cyfrowe rozpoznawanie tekstu składają się trzy fazy: skanowanie, które mam już za sobą, rozpoznawanie znaków i na końcu odczytanie tekstu oraz zapisanie go w postaci gotowej do edycji. Faza druga czyli właściwe OCR to również kilka kolejno następujących po sobie kroków:
W porównaniu programów zajmę się przedewszystkim rezultem działania OCR. Dodatkowe funkcje jak "binaryzacja" obrazu czy deskewing (prostowanie) to miłe udogodnienia, można jednak zastąpić je użyciem zewnętrznych narzędzi. Z tego względu jedynie wspomnę o tych funkcjach jeżeli testowany program je posiada.
Ponieważ niektóre programy w ogóle nie obsługują jezyków innych poza angielskim, do testów użyłem zarówno tekstu polskiego jak i angielskiego - po prostu chcę wiedzieć ile jest wart algorytm OCR danej aplikacji.
Druga część raportu już niedługo. Zapraszam.
Nejsou žádné diskuzní příspěvky u dané položky. Příspívat do diskuze mohou pouze registrovaní uživatelé. |
28.11.2018 23:56 /František Kučera
Prosincový sraz spolku OpenAlt se koná ve středu 5.12.2018 od 16:00 na adrese Zikova 1903/4, Praha 6. Tentokrát navštívíme organizaci CESNET. Na programu jsou dvě přednášky: Distribuované úložiště Ceph (Michal Strnad) a Plně šifrovaný disk na moderním systému (Ondřej Caletka). Následně se přesuneme do některé z nedalekých restaurací, kde budeme pokračovat v diskusi.
Komentářů: 1
12.11.2018 21:28 /Redakce Linuxsoft.cz
22. listopadu 2018 se koná v Praze na Karlově náměstí již pátý ročník konference s tématem Datová centra pro business, která nabídne odpovědi na aktuální a často řešené otázky: Jaké jsou aktuální trendy v oblasti datových center a jak je optimálně využít pro vlastní prospěch? Jak si zajistit odpovídající služby datových center? Podle jakých kritérií vybírat dodavatele služeb? Jak volit vhodné součásti infrastruktury při budování či rozšiřování vlastního datového centra? Jak efektivně datové centrum spravovat? Jak co nejlépe eliminovat možná rizika? apod. Příznivci LinuxSoftu mohou při registraci uplatnit kód LIN350, který jim přinese zvýhodněné vstupné s 50% slevou.
Přidat komentář
6.11.2018 2:04 /František Kučera
Říjnový pražský sraz spolku OpenAlt se koná v listopadu – již tento čtvrtek – 8. 11. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma umění a technologie, IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář
4.10.2018 21:30 /Ondřej Čečák
LinuxDays 2018 již tento víkend, registrace je otevřená.
Přidat komentář
18.9.2018 23:30 /František Kučera
Zářijový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 20. 9. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář
9.9.2018 14:15 /Redakce Linuxsoft.cz
20.9.2018 proběhne v pražském Kongresovém centru Vavruška konference Mobilní řešení pro business.
Návštěvníci si vyslechnou mimo jiné přednášky na témata: Nejdůležitější aktuální trendy v oblasti mobilních technologií, správa a zabezpečení mobilních zařízení ve firmách, jak mobilně přistupovat k informačnímu systému firmy, kdy se vyplatí používat odolná mobilní zařízení nebo jak zabezpečit mobilní komunikaci.
Přidat komentář
12.8.2018 16:58 /František Kučera
Srpnový pražský sraz spolku OpenAlt se koná ve čtvrtek – 16. 8. 2018 od 19:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát jsou tématem srazu databáze prezentaci svého projektu si pro nás připravil Standa Dzik. Dále bude prostor, abychom probrali nápady na využití IoT a sítě The Things Network, případně další témata.
Přidat komentář
16.7.2018 1:05 /František Kučera
Červencový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 19. 7. 2018 od 18:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát bude přednáška na téma: automatizační nástroj Ansible, kterou si připravil Martin Vicián.
Přidat komentář
31.7.2023 14:13 /
Linda Graham
iPhone Services
30.11.2022 9:32 /
Kyle McDermott
Hosting download unavailable
13.12.2018 10:57 /
Jan Mareš
Re: zavináč
2.12.2018 23:56 /
František Kučera
Sraz
5.10.2018 17:12 /
Jakub Kuljovsky
Re: Jaký kurz a software by jste doporučili pro začínajcího kodéra?