Dziś (drugi dzień używania) tesseract wyłożył się na względnie prostym rysunku pn. dzienny raport o koronawirusie:
tesseract 20201020T080001_raport.png 00001 ## pomija dwie pierwsze liczby, zawiera wiele nieistotnych znaków tesseract 20201020T080001_raport.png 00002 -c preserve_interword_spaces=1 --psm 6 ## prawie dobrze zdekodował liczby: ## 8 962 725 289447 44675 95956 ## ale w pliku są jeszcze inne znaki tesseract 20201020T080001_raport.png 0003 --psm 6 -c tessedit_char_whitelist=0123456789 \ -c preserve_interword_spaces=1 ## w zasadzie nic nie zmienia convert 20201020T080001_raport.png -threshold 85% raport-bw.png tesseract raport-bw.png raport-bw --psm 6 # pierwszy wiersz zamienia rysunek na b-w # tesseract działa prawie prawidłowo, tj. zwraca: # # DZIENNY RAPORT 0 KORONAWIRUSIE # ? 0 N ? # 8 962 725 289447 44675 95956 # # pierwsza liczba ma ekstra odstę convert 20201020T080001_raport.png -threshold 85% \ -morphology erode diamond raport-bw-m.png tesseract raport-bw-m.png raport-bw-m --psm 6 # DZIENNY RAPORT 0 KORONAWIRUSIE # ? \ (ae \\ (@ # 8962 725 289447 44675 95956 # a # IN. # convert 20201020T080001_raport.png -threshold 85% \ -crop 1140x75+50+400 -morphology erode diamond raport-bw-mc.png tesseract raport-bw-mc.png raport-bw-mc --psm 6 # Jeden prawidłowy wiersz # 8962 725 289447 44675 95956
Opcja -morphology erode diamond
pogruba; opcja -crop 1140x75+50+400
wycina prostokąt 1140x75 pikseli pomijając pierwszych 50/400 pikseli (poziom/pion). Wartości 1140/75/50/400 znalazłem wczytując plik PNG do gimpa.
No więc wersja na dziś to nie:
## zamalowanie na biało wszystkiego nad liczbami: convert PLIK.png -draw "rectangle 0,0 1200,380" -fill white PLIK_0.png
ale:
convert PLIK.png -threshold 85% -crop 1140x75+50+400 \ -morphology erode diamond PLIK_0.png
Po odczytaniu danych są one dopisywane do pliku CSV, następnie tworzone są wykres (za pomocą R), które w ostatnim kroku są wysyłane na Twittera.
Ciekawe jak to będzie długo działać, bo mam mocne wrażenie że osoby odpowiedzialne za udostępnianie danych w MinZdrowia to amatorzy/dyletanci.
Zobacz też tutaj.
Przy okazji instalowanie tesseracta w systemie Debian to:
apt install tesseract-ocr libtesseract-dev ## poniższe jest opcjonalne: apt install tesseract-ocr-pol tesseract-ocr-eng \ tesseract-ocr-ger tesseract-ocr-deu
Super ciekawy wpis
OdpowiedzUsuńCiekawe informacje
OdpowiedzUsuń