Weblog Tomasza Przechlewskiego [Zdjęcie T. Przechlewskiego]


scrum
random image [Photo gallery]
Zestawienie tagów
1-wire | 18b20 | 1wire | 2140 | 3rz | adamowicz | afera | alsamixer | amazon | amber | anniversary | antypis | apache | api | applebaum | arm | armenia | astronomy | asus | atom.xml | awk | aws | bachotek | bakłażan | balcerowicz | balta | banan | bash | batumi | berlin | białowieża | białystok | bibtex | bieszczady | biznes | blogger | blogging | blosxom | bme280 | bono | borne-sulinowo | breugel | bt747 | budapeszt | budyń | bursztyn | canon | cedewu | chaos | chello | chiller | chillerpl | chown | christophe dominici | chujowetaśmy | ciasto | cmentarz | contour | coronavirus | covi19 | covid | covid19 | cron | css | csv | cukinia | curl | cycling | d54250wykh | dbi | debian | dejavu | dhcp | dht22 | dia | docbook | dom | dp1500 | ds18b20 | duda | dulkiewicz | dyndns | dynia | ebay | economy | ecowitt | ekonomia | elka | elm | emacs | emacs23 | english | ep | erasmus | erasmusplus | ess | eu | eurostat | excel | exif | exiftool | f11 | fc | fc11 | fc15 | fc29 | fc5 | fc8 | fedora | fedora21 | fenix | ffmpeg | finepix | firefox | flickr | folau | fontforge | fontspec | fonty | food | fop | forms | foto | france | francja | fripp | froggit | fuczki | fuji | fuse | gammu | garden | garmin | gas | gawk | gazwyb | gdańsk | gdynia | gender | geo | geocoding | georgia | gft | ggplot | git | github | gmail | gmaps | gnokii | gnus | google | google apps script | googlecl | googleearth | googlemaps | gotowanie | gphoto | gphoto2 | gps | gpsbabel | gpsphoto | gpx | gpx-viewer | greasemonkey | gruzja | grzyby | gus | gw1000 | haldaemon | handbrake | hhi | historia | history | hitler | holocaust | holokaust | hp1000se | hpmini | humour | iblue747 | ical | iiyama | ikea | imagemagick | imap | inkscape | inne | internet | j10i2 | javascript | jhead | k800i | kajak | kamera | karob | kleinertest | kml | kmobiletools | knuth | kociewie kołem | kod | kolibki | komorowski | konwersja | krutynia | krynki | kuchnia | kurski | latex | latex2rtf | latex3 | lcd | legend | lenny | lesund | lewactwo | lgbt-folly | liberation | linksys | linux | lisp | lisrel | litwa | lizbona | logika | ltr | lubowla | lwp | lwów | m2wś | malta | mapquest | mapsource | maradona | marchew | marimekko | marvell | math | mathjax | mazury | mbank | mediolan | mencoder | mevo | mh17 | michalak | michlmayr | microsoft | monitor | mp4box | mplayer | ms | msc | mssql | msw | mswindows | mtkbabel | museum | muzyka | mymaps | mysql | mz | nafisa | nanopi | natbib | navin | nekrolog | neo | neopi | netbook | niemcy | niemieckie zbrodnie | nikon | nmea | nowazelandia | nuc | nxml | oauth | oauth2 | obituary | ocr | odessa | okular | olympus | ooffice | ooxml | opera | osm | otf | otftotfm | other | overclocking | ozbekiston | panoramio | paryż | pdf | pdfpages | pdftex | pdftk | pedophilia | perl | photo | photography | picasa | picasaweb | pim | pine | pis | pit | plotly | pls | plugin | po | podlasie | podróże | pogoda | politics | polityka | polsat | portugalia | postęp | powerpoint | połtawa | prelink | problem | propaganda | pseudointeligencja | pstoedit | putin | python | pywws | r | r1984 | radio | random | raspberry | raspberry pi | raspberrypi | raspbian | refugees | relaxng | ridley | router | rower | rowery | rpi | rsync | rtf | ruby | rugby | rumunia | russia | rwc | rwc2007 | rwc2011 | rwc2019 | rzym | samba | sds011 | selenium | sem | sernik | sheevaplug | sienkiewicz | signature | sks | skype | skytraq | smoleńsk | sqlite | srtm | sshfs | ssl | staszek wawrykiewicz | statistcs | statistics | stats | statystyka | stix | stretch | supraśl | suwałki | svg | svn | swanetia | swornegacie | szwajcaria | słowacja | tbilisi | terrorism | tesseract | tex | texgyre | texlive | thunderbird | tomato | totalnaopozycja | tourism | tramp | trang | transylwania | truetype | trzaskowski | ttf | turcja | turkey | turystyka | tusk | tv | tv5monde | tweepy | twitter | tykocin | typetools | ubuntu | uchodźcy | udev | ue | ukraina | umap | unix | upc | updmap | ups | utf8 | uzbekistan | varia | video | vienna | virb edit | virbedit | vostro | wammu | wdc | wdfs | weather | weathercloud | webcam | webdav | webscrapping | weewx | wh2080 | wiedeń | wikicommons | wilno | win10 | windows | windows8 | wine | wioślarstwo | word | wordpress | wrt54gl | ws1080 | wtyczka | wunderground | ww2 | www | wybory | wybory2015 | włochy | węgry | xemex | xetex | xft | xhtml | xine | xml | xmllint | xsd | xslt | xvidtune | youtube | yum | zakopane | zakupy | zawodzie | zdf | zdrowie | zgony | łeba | świdnica | żywność
Archiwum
O stronie
wykorzystywany jest blosxom plus następujące wtyczki: tagging, flatarchives, rss10, lastbuilddatexhtmlmime. Niektóre musiałem dopasować nieco do swoich potrzeb. Więcej o blosxom jest tutaj
Subskrypcja
RSS 1.0
Eldorado w Mikoszewie


Mój bursztynowy przywódca M. już na początku tygodnia uprzedził mnie o nadchodzącym sztormie, który miał ucichnąć pod koniec tygodnia. Faktycznie wiało i do tego prawie-że-idealnie bo z północnego wchodu. W czwartek 15.10 wiatr ucichł więc pojechałem rowerem na Sobieszewo (po drodze zaglądając też na Brzeźno). Że to względnie daleko i mi się nie chciało jechać na Orle, to tym razem pojechałem na parking w Sobieszewie (wejście numer 16). Stali tam już ludzie z podbierakami, ale niewiele się jeszcze działo. Kolega M. zarządził wyjazd na wieczór...

Jak przyjechaliśmy było jeszcze szaro ale szybko zapadła noc. Fala była jeszcze duża i trzeba było uważać. Udało mi się wyłowić 17g bryłkę i parę jeszcze ładnych kawałków, po czym złamałem podbierak. Bez podbieraka nie szło już tak dobrze ale trochę dozbierałem więc generalnie byliśmy zadowoleni, zwłaszcza że w tym roku do tej pory praktycznie zero mimo kilku prób. Bursztyn wymywało dosłownie na odcinku 30m; jak przestało poszliśmy do domu. Rano w piątek 17.10 powtórka, ale było słabo. Wg. M. za duża fala była ciągle--umówiliśmy się na wieczór.

Wieczorem też nieszczególnie. Mało i małe. Wracamy do domu jest 22:00. A M. żebyśmy jechali do Mikoszewa. Ja na to że mi się nie chce, ale że namawiał to mówię OK. Pierwszy raz jedziemy na Mikoszewo ale trafiamy bez pudła-- jest 23:00 jak wychodzimy na plażę. Kupa luda. Cała plaża na fioletowo. W świetle latarki UV widać pełno leżącego na piasku bursztynu--takie kawałki wielkości pestki od jabłka albo trochę większe (i mniejsze). Są tego miliony... Większe też się trafiają ale oczywiście trzeba wejść do wody. Zbieramy do 1:00 w nocy, w domu jestem o 2:00. Mam 170g uzbierane (Sobieszewo/Mikoszewo)

W Sobotę M. nie może, jadę sam rano rowerem z kaloszami w plecaku. Primo chcę zobaczyć jak wygląda plaża bo wczoraj to byliśmy w nocy. Po drugie porobić zdjęcia mając nadzieję na dzikie tłumy + (być może) policję (pandemia jest). Przyjeżdżam 9:30-- plaża cała w śmieciach. Ludzi jest sporo ale nie aż tak za bardzo (potem doszło więcej, tyle że dużo spacerowiczów i słoikowców tj. zbieraczy okazjonalnych, bez sprzętu). Ubieram kalosze i zbieram z brzegu oraz kopię w grubej warstwie śmieci. Nb. że nie mam woderów, to akurat no-problem, bo woda jest tak mętna że i tak wszyscy co stoją w wodzie zbierają max 2m od linii brzegowej, patrząc w stronę plaży. A jest mętna, bo pływa pełno wodorostów o konsystencji rozmoczonej waty (które w świetle UV wczoraj wyglądały jak buraki, ponieważ zielony zmienia się w bordowy)

Do 13:00 w tym stylu i tym sprzętem uzbierałem 340g! Melduję M. co widziałem. Od razu chce jechać, ja mniej bo od 30 godzin na nogach! Pojechaliśmy wieczorem. Dozbierałem następnych 190g. Bursztyn ciągle wymywa i jest fala. Okruchów jest tyle na piasku, że można by do rana siedzieć i kilo uzbierać (tylko po co?)

Niedziela 18.10. Jeszcze raz do Mikoszewa. Tym razem z Elką i Jankiem. Nie ma fali. W wodzie już nic nie ma--czysta. Na brzegu jedno miejsce gdzie grubo śmieci--tam kopią i znajdują większe kawałki takie wielkości ziarnka grochu. W innych miejscach generalnie przekopana albo śmiecie odpłynęły. Mimo to 120g zebraliśmy...

Reasumując w ten szalony weekend uzbierałem 170+190+340+120 = prawie 900g bursztynu. Smak sukcesu psuje fakt, że 90% to drobnica. Inni też się obłowili sądząc po wpisach na FB grupie zbieraczy. Mocny początek sezonu.

Zdjęcia są tutaj

url | Wed, 21/10/2020 05:51 | tagi: ,
Poprawianie czytelności obrazków za pomocą Imagemagick

Dokument oryginalny

Wersja BW

Wersja BW pogrubiona

Wersja bez nagłówka

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

Wersja ostateczna

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

url | Tue, 20/10/2020 19:08 | tagi: , ,
Odzyskiwanie danych nt COVID119 z twitów Ministerstwa Zdrowia

Dokument #1

Dokument #2

Pobielenie

Dokument gotowy do OCR

Że się pandemia rozwija zachciało mi się odzyskać dane podawane przez polskie Ministerstwo Zdrowia na Twitterze w formie komunikatów obrazkowych. Otóż raz dziennie o 10:00 pojawia się rysunek zawierający dane dotyczące zajętych łóżek dedykowanych COVID-19, zajętych respiratorów, liczby osób objętych kwarantanną i jeszcze dwóch innych rzeczy. Ponadto, raz na tydzień w poniedziałek pojawia się rysunek z liczbą testów w podziale na województwa. Tych danych nie ma na stronie MZ, a jeżeli są to tak publikowane, że ja nie potrafię tego odszukać. Że MZ udostępnia dane obrazkowo za pośrednictwem amerykańskiej firmy zamiast w sposób opisany ustawą o dostępnie do informacji publicznej to oczywiście skandal i żenada.

Cały stream https://twitter.com/MZ_GOV_PL to ja mam ściągnięty. Tam nie ma obrazków; są URLe do obrazków, które można łatwo pobrać. Ja to robię na raty, najpierw json do csv:

#!/usr/bin/perl
# Zamiana Json -> CSV
use JSON;
use Time::Piece;
use open ":encoding(utf8)";
use open IN => ":encoding(utf8)", OUT => ":utf8";
binmode(STDOUT, ":utf8");

print "id;date;repid;text\n";

while (<>) { chomp();
  $tweet =  $_;

  my $json = decode_json( $tweet );
  $tid = $json->{"id"};
  $dat = $json->{"created_at"};
  $dat = Time::Piece->strptime($dat,
   "%a %b %d %H:%M:%S %z %Y")->strftime("%Y-%m-%dT%H:%M:%S");

  $mmm = $json->{"entities"}{"media"}; ## lista-haszy

  for $mm ( @{$mmm} ) { $media = $mm->{media_url} ;
    ## id-tweeta;data;url-do-rysunku
    print "$tid;$dat;$media\n";  }
}

Teraz można ściągnąć rysunku zwykłym wgetem albo curlem, pobierając URLa z cvsa. Rysunki o łóżkach i wentylatorach pojawiają się codziennie około 10:30 (czyli 8:30 GMT). Rysunki o liczbie testów wg województw w poniedziałki generalnie około 16:00. Więc prostym skryptem Perla ściągam poniedziałkowe rysunki opublikowane po 13:30GMT oraz wszystkie po 8:00GMT a przed 10:00GMT. Po ściągnięciu oglądam i wywalam nierelewantne.

OCR robię programem tesseract:

tesseract PLIK.png PLIK

Powstanie PLIK.txt a w nim tekst z rysunku. Z danymi poniedziałkowymi był problem, tesseract się gubił i PLIK.txt nic nie zawierał Żeby mu pomóc najpierw upraszczałem rysunek:

#!/bin/bash
## pomaluj na biało fragmenty nie zawierające liczb
convert "$1" -fill white -draw "rectangle 0,0 1200,115" \
  -draw "rectangle 0,640 200,675"  \
  -draw "rectangle 350,115 830,540" PLIK_0.png
## zamień wszystkie kolory na biały za wyjątkiem czarnego:
convert PLIK_0.png -fuzz 30% -fill white +opaque black PLIK_1.png
## zrób OCR
tesseract PLIK_1.png PLIK_1
## oczyść i dopisz wiersz do WYNIKI.txt
grep '[0-9]' PLIK_1.txt | \
awk '{gsub(/[ \t]/, ""); l = l ";" $0 }; END{print l}' > WYNIKI.txt

Jeżeli powyższy skrypt nazywa się png2txt.sh to teraz:

for x in *.png; do
   if [ -f $x ] ; then
        png2txt.sh $x
   fi
done

Raporty poniedziałkowe zaczęły być wysyłane od 11 maja 2020. Raporty codzienne pobrałem od początku lipca. W szczególności rysunki `poniedziałkowe' zawierają dane kumulowane. Kiedy na podstawie tych danych utworzyłem dane `tygodniowe' (jako różnica między stanem na bieżący tydzień minus stanem na poprzedni tydzień), to dla województwa świętokrzyskiego i raportu z 10 sierpnia rezultat okazał się ujemny i do tego ogromny. Licznik cofnęło mówiąc kolokwialnie.

Po wpisaniu do google testy+świętokrzyskie się okazało, że sprawa jest znana: przez 2 miesiące województwo świętokrzyskie podawało dane ewidentnie z sufitu raportując 100% wzrost tydzień/tydzień przy maksymalnym dla następnego województwa poziomie 15%... Jak po 2 miesiącach tej twórczości doszli do absurdalnej liczby ktoś się w MZ połapał i napisał (na Twitterze), że należy odjąć te lipne 230 tys...

No to tak z grubsza wygląda rzetelność danych n/t COVID19 w PL...

Pozyskane dane są: tutaj.

url | Wed, 14/10/2020 20:11 | tagi: , ,
Rektor UG Gwizdała (były)

Pracowałem na WZ/UG to mnie nie dziwi. Z mediów się dowiedziałem że rektor UG okazał się marnym plagiatorem, w sumie bez dorobku (brak publikacji zagranicznych). Marnym w tym sensie także, że szedł na rympał z gołą dupą czyli z ww. żenującym dorobkiem i do tego jeszcze przepisanym w części od kogoś (szczegóły tutaj.)

Szokujące może być (ale tylko dla kogoś kto nie wie jak środowisko nauki jest zdemoralizowane, szczególnie w PL), że powyższe nie przeszkadzało wcale Radzie Wydziału Zarządzania i osobiście dziekanowi ww wydziału (chyba podwładnemu zresztą ww. Gwizdały) promować tego pana. Więcej wszystkie te opłacane przez podatnika i stojące na straży jakości instytucje typu Rada Wydziału, pierdzilion recenzentów + Centralna Komisja d/s czegoś tam jakoś nie dały rady odsiać ziarna od plew, że dopiera donos to kancelarii Prezydenta zakończył wspaniałą karierę magnificencji.

url | Tue, 06/10/2020 16:52 | tagi: