sobota, 22 marca 2025

Tesseract w wersji czwartej/piątej znacznie lepiej czyta niemiecką frakturę niż poprzednia "trójka"

Optyczne rozpoznawanie tekstu (OCR) znajduje się obecnie na bardzo przyzwoitym poziomie. O ile pod koniec lat dziewięćdziesiątych XX wieku światowym liderem była jeszcze dystrybuowana na pojedynczej dyskietce węgierska Recognita, to w latach późniejszych zaczęło królować narzędzie o nazwie ABBYY FineReader, fenomenalnie dobrze radzące sobie ze "zwykłym" krojem pisma, określanym mianem antykwa. FineReader dopiero od niedawna (od wersji 15) potrafi czytać niemiecką frakturę (= tzw. drukowane pismo gotyckie). 

Recognita i FineReader to jednak narzędzia komercyjne, płatne, czyli kapitalistyczne, a człowiek jako tako oświecony zazwyczaj gardzi karmicznym ścierwem, koncentrując się na darmowych rozwiązaniach typu Open Source, np. niedocenianym programie Tesseract, który już od wersji trzeciej potrafi rozpoznawać niemiecką frakturę, przy czym wspomniana wersja trzecia wymaga skanów bardzo dobrej jakości, aby skuteczność rozpoznania "gotyku" sięgała, powiedzmy, 80 procent całości. Dopiero wydanie wersji czwartej (oraz jeszcze nowszej piątej) stało się skokiem kwantowym, gdyż dobry content graficzny, tzn. wysokorozdzielczy, przygotowany w postprocessingu (najlepiej znormalizowany/poprawiony optycznie, intensywnie wyostrzony i zapisany jako monochromatyczna mapa jednobitowa, czyli po prostu czarno-biała) jest "czytany" niemalże w stu procentach, o czym przekonałem się przesiadając się wczoraj z "trójki" na "czwórkę", więc szczerze polecam to narzędzie wszystkim potrzebującym.

Tesseract jest zasadniczo programem konsolowym, czyli terminalowym, czyli obsługiwanym z wiersza poleceń, jednak istnieją odpowiednie dedykowane nakładki graficzne, ułatwiające jego obsługę.

Osobiście korzystam z Linuksa, dla którego w przypadku wersji czwartej programu Tesseract chwilowo nie ma odpowiedniej nakładki graficznej (= są tylko GUI dla "trójki"), więc chcąc przeczytać plik graficzny z tekstem gotyckim o nazwie skan1.png w terminalu wydaję takie oto polecenie:

tesseract -l frk skan1.png skan1

A tak toto może wyglądać np. w konsoli/terminalu na Linuksie:

Po krótszej lub dłuższej chwili od momentu "walnięcia w Enter" obok pliku skan1.png pojawi się dokument tekstowy o nazwie skan1.txt z kodowaniem UTF-8, przy czym wygłosowy/śródgłosowy wariant niemieckiej  gotyckiej literki "s" pojawi się tamże jako "ſ", co nie jest takim głupim rozwiązaniem, o ile planujemy wykonać reprint starodruku z zachowaniem kroju frakturowego (po "podłożeniu" stosownej czcionki gotyckiej), z czego mogą chcieć skorzystać np. wydawnictwa czy drukarnie, jednak mocno wkurza to zwykłych użytkowników, dlatego wynikowy plik tekstowy należy jeszcze poddać szybkiej "naprawie", co łatwo można uzyskać poprzez "znajdź i zamień wszystkie" (ot, choćby w windzianym Notatniku, linuksowym Geany'm czy dowolnym "dużym" procesorze tekstu typu Word, OpenOffice Writer, LibreOffice Writer itp.).

Aby Tesseract czytał niemiecką frakturę, należy oczywiście mieć doinstalowany opcjonalny dodatek (w Linuksie występuje on pod nazwą tesseract-ocr-frk):

Najwyższą skuteczność rozpoznania uzyskamy w przypadku tekstów wydrukowanych czcionką frakturową bez wytłuszczenia, a im bardziej szczupły, smukły i filigranowy krój znaków, tym bezbłędność wyższa (np. kaiserowskie wydania leksykonu Meyera z początku XX stulecia mają krój idealnie filigranowy, czyli ponadprzeciętnie dobrze nadający się do poddania procedurze OCR).

Listę zainstalowanych modułów językowych można wywołać poprzez polecenie tesseract --list-langs.

AKTUALIZACJA ---> nakładka graficzna NAPS2 śmiga poprawnie także pod Linuksem oraz w połączeniu z Tesseract w wersji 4. Przetestowane pod BodhiLinux 7.0 wraz z Tesseract 4 (= jest już "fabrycznie" dołączony do aplikacji NAPS2). Po zainstalowaniu pobrać wszystkie potrzebne pakiety rozpoznawania dla poszczególnych języków (robimy to z poziomu NAPS2). Sprawdzone! Działa! Elegancko radzi sobie z niemiecką frakturą i tworzy przeszukiwalnego alfanumerycznego PDF-a. Przetestowałem także pod Puppy Linux FossaPup (64 bity) oraz pod Puppy Linux Bookworm (klon Debiana Bookworm).


(Marcin Perliński)


alternatywa online


środa, 26 lutego 2025

Mobilny fork programu AnkiDroid, który od ręki "łyka" pliki Excela (zielony robot, czyli nauka słówek na telefonie, tablecie itp.)

Apencja Nice Flashcard to amatorski idealistyczny chiński klon androidowej wersji "samurajskiego" programu Anki, który obsługuje jego format (*.apkg), a do działania na telefonie nie wymaga równoległej wersji desktopowej, a także potrafi dodatkowo importować dane z formatu xlsx (= arkusze współczesnego Excela). Żeby go zainstalować z pliku xapk, musisz wcześniej mieć na srajfonie apkę ZArchiver. Otwierasz plik xapk ZArchiverem i wybierasz opcję "Zainstaluj"

Pobierzesz se z googlosklepu (tu akurat nie musisz robić "fikołków" z programem ZArchiver, bo wszystko i tak "samo" się zainstaluje) lub z tego oto mirrora (w tym drugim przypadku ZArchiver będzie raczej niezbędny).

Nie ma w tym czymś reklam, zakupów, komerchy (przynajmniej na razie), co w dzisiejszych czasach nie jest już takie oczywiste.

Dołączam przykładowe pliki Excela dla uczących się języka niemieckiego (idiomowanie, a także poziom podstawowo-średniozaawansowany), które można tym czymś "zassać" (przy okazji od razu sobie uświadomisz, jaka ma być ich składnia).

Niesamowicie wygodną funkcją jest opcja "Study", czyli powtarzanie bez harmonogramu, czyli aż do "porzygu", czym japońska konkurencja (= Anki/AnkiDroid) raczej nie może się pochwalić w aż tak wygodnej formie.

Biuralistom i korposzczurom polecam, bo oni przecież bez Excela żyć nie potrafią ...

UWAGA!!! STARSZYCH PLIKÓW XLS TA APKA NIE CZYTA!!! MUSI BYĆ XLSX!!!


(Marcin Perliński)

 

jeszcze fajniejsze idiomy DE-DE

 



ZArchiver (androidowy) nie tylko potrafi rozbebeszyć deb-y czy rpm-y, ale nawet umie bez kłopotu zainstalować aplikacje "xapk"

Tutu w googlosklepie. Otwarty kod, zero reklam. Aplikacje w idiotycznym formacie xapk są dostępne z poziomu serwisu apkpure i aby je zainstalować, teoretycznie powinniśmy posłużyć się dedykowanym niepewnym i rzygającym reklamami narzędziem instalacyjnym, oferowanym właśnie przez tenże serwis. Na szczęście jest znacznie przyjaźniejszy ZArchiver, który także to potrafi, więc go szczerze polecam.

Korzystam z tej oto wersji (srajfon Nokia G21, system: Android 13).

Warto także od czasu do czasu zaglądać na stronę domową twórcy tego narzędzia, który udostępnia pliki instalacyjne swojej apki (niezależnie od tego, że leżą one sobie także w googlosklepie).


(Marcin Perliński)

niedziela, 23 lutego 2025

Uniwibrator, czyli uniwersalny moduł podtrzymania czasowego do zastosowań wszelakich

Nawiązując do tejże publikacji se niniejszym do kajetu przerysowałem coś oto takiego:

koncepcja bazowa: Lothar Sabrowsky
"Elektronika dla nie wtajemniczonych"
(1981)

Mamy więc gotowy "klocek elektroniczny" na trzech uniwersalnych tranzystorach bipolarnych, diodzie (= niekoniecznie musi być germanowa) oraz niewielkiej garści drobnicy. 

Jest to prosty i płynnie oraz względnie dokładnie nastawny swoisty tranzystorowy dzielnik częstotliwości. Kiedy na wejście podamy impuls (sinusoidalny, prostokątny lub dowolny inny), to na wyjściu nieodwracającym pojawi się impuls (prostokątny) trwający np. do 10 razy dłużej niż impuls wejściowy. Ustala się ten stosunek podziału potencjometrem R3 i zależy on także od pojemności kondensatora C. Do punktów 1 oraz 2 możemy równolegle doczepiać kolejne kondensatory, np. elektrolityczne (plus do punktu 1, minus do punktu 2), aby wydłużyć czas podtrzymania na wyjściu. 

Zastosowań tego układu może być całe mnóstwo, np. w oparciu o pojedynczy uniwibrator można wykonać układ podtrzymania grania pozytywki dzwonka drzwiowego, czyli do wejścia podłączamy przycisk chwilowy (podający na to wejście napięcie zasilające), a do wyjścia nieodwracającego pozytywkę (w razie potrzeby poprzez przekaźnik lub dodatkowy tranzystor kluczujący o stosownym pożądanym "amperażu", a najlepiej przez kombinację obydwu rozwiązań). Odwiedzający naszą chatę gość naciska raz (lub wiele razy) na przycisk dzwonkowy, a pozytywka odgrywa swoją melodyjkę przez ustalony przez nas czas.

Innym ciekawym pomysłem może być wykorzystanie uniwibratora jako sterownika czasowego wentylatora w ubikacji lub łazience. Wystarczy jedynie mądrze ruszyć głową!

Korzystając z dwóch sprytnie połączonych ze sobą uniwibratorów możemy natomiast wykonać cykliczny sterownik czasowy, w którym dwoma potencjometrami będzie się dało precyzyjnie ustalać czas przerwy oraz czas załączenia, czyli będzie można sterować choćby radiolatarnią w taki sposób, aby raz na przykładowo 15 minut przez jedną minutę nadawała swój sygnał radiowy (takie czasy uzyskamy oczywiście po odpowiedniej indywidualnej zmianie wartości elementów RC). Przetestowany praktycznie sterownik cykliczny przedstawiono we wspomnianej publikacji na stronie 339. Możemy więc wykonać dokładnie to samo, co da się "wykrzesać" z pojedynczego układu scalonego 555, jeśli takim scalakiem akurat nie dysponujemy, a "walają się" nam w rupieciach stare niepotrzebne tranzystory bipolarne. Do uzyskania bardzo długich czasów sugeruję sięgać po stałe rezystory wielomegaomowe (zamiast R3 lub szeregowo razem z nim), a kondensator C wpierniczyć np. 1000-mikrofaradowy lub większy.

Rezystory ćwierćwatowe, kondensatory elektrolityczne na napięcie przynajmniej 16 V. Typ tranzystorów nie jest krytyczny (wystarczą dowolne uniwersalne bipolarne małej mocy, małej częstotliwości, o polaryzacji NPN, np. BC547B, 9014, 2N3904, 2N2222, BC238B, BC337 itp.). Nadadzą się również tranzystory średniej mocy NPN o trochę rozsądniejszym współczynniku wzmocnienia, np. BD135-25). Gdyby ktoś szukał przekaźnika, to wystarczy nawet najtańszy uniwersalny z cewką kilkusetomową, wysterowywaną napięciem 12 V oraz raczej z w miarę rozsądną maksymalną obciążalnością styków, np. choćby taki oto. Nic także nie stoi na przeszkodzie, aby posłużyć się właściwie niemalże niezniszczalnym trwalszym przekaźnikiem elektronicznym. Minimalne napięcie podawane na wejście nie powinno być niższe od 1 wolta, a maksymalne nie większe od wartości napięcia zasilania (12 V).

Uwaga!!! Układ jest dość złożony i przeznaczony do specyficznych zastosowań, więc w przypadku elementarnych niecyklicznych sterowników/opóźniaczy czasowych wyłączających (= czyli włączających jednonaciskiem na określony czas) być może wystarczy Ci takie oto współcześniejsze rozwiązanie.


(Marcin Perliński)


sobota, 22 lutego 2025

O kotach po rosyjsku, bardzo ważna porcja wiedzy

Jeśli posługujesz się językiem rosyjskim lub nawet tylko się go uczysz, to koniecznie zapoznaj się z tym oto materiałem jutubnym:


Poszerzysz swoje umiejętności, nie tylko językowe zresztą. Jest to materiał z wygenerowanym syntetycznie lektorem, ale znakomicie dopracowany oraz zrealizowany z zachowaniem wszelkiej staranności językowej, więc przydać się może studentom rusycystyki, a nawet tym nielicznym młodym ludziom, którzy odważą się zdawać ten język na maturze, gdyż dla poziomu rozszerzonego będzie to idealnie adekwatny materiał dydaktyczny.

Filmik trwający 39 minut, rosyjskie napisy wtopione w statyczny obraz i są one zsynchronizowane z tym, co i nadzwyczaj wyraźnie aktualnie "mówi" najwyższej jakości syntetyczny lektor.


Polecam!


(Marcin Perliński)

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

mirrorek 

 

 

 

 

 

Szkolna gramatyka języka polskiego (1892)

Bez zasobów hostowanych na serwerach kalifornijskich oraz rezerwowych egipskich zmora komerchą trącająca zjadłaby nas na stojąco.

Oto "grama" stareńka, ale nadal poprawna i używalna pod każdym względem:


Gdyby każdy współczesny Polak raczył to choćby pobieżnie przekartkować, to poszerzyłby sobie neurony w mózgoczerepie w stopniu tak znacznym, że japierpapier!


Polecam!!!


(Marcin Perliński)


zapasior