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 | amman | 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 | budyniowo | budyń | bursztyn | campagnolo | 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 | darkages | dbi | debian | dejavu | dhcp | dht22 | dia | docbook | dom | dp1500 | ds18b20 | duda | dulkiewicz | dulkiewiczowa | 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 | ghost | 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 | jordania | k800i | kajak | kamera | karob | kibbeh | kleinertest | kml | kmobiletools | knuth | kociewie kołem | kod | kolibki | komorowski | konwersja | krutynia | krynki | kuchnia | kurski | kłamstwo | latex | latex2rtf | latex3 | lcd | legend | lenny | lesund | lewactwo | lgbt-folly | liban | 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 | mex | mh17 | michalak | michlmayr | microsoft | monitor | mp4box | mplayer | ms | msc | mssql | msw | mswindows | mtkbabel | museum | muzyka | mymaps | mysql | mz | nafisa | nanopi | natbib | navin | neapol | 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 | ov5647 | overclocking | ozbekiston | padwa | panoramio | paryż | pdf | pdfpages | pdftex | pdftk | pedophilia | perl | photo | photography | pi | picasa | picasaweb | pim | pine | pis | pit | pizero | plain | plotly | pls | plugin | po | podcast | 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 | roztocze | rpi | rsync | rtf | ruby | rugby | rumunia | russia | rwc | rwc2007 | rwc2011 | rwc2019 | rzym | salerno | samba | sds011 | selenium | sem | senah | sernik | sheevaplug | sienkiewicz | signature | sikorski | 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 | wenecja | wh2080 | wiedeń | wikicommons | wilno | win10 | windows | windows8 | wine | wioślarstwo | wojna | 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 | zaatar | zakopane | zakupy | zawodzie | zdf | zdrowie | zeropi | zgarden | zgony | zprojekt | łeba | świdnica | żywność
Archiwum
02/2023 | 01/2023 | 11/2022 | 10/2022 | 09/2022 | 07/2022 | 06/2022 | 04/2022 | 03/2022 | 02/2022 | 12/2021 | 09/2021 | 03/2021 | 01/2021 | 12/2020 | 11/2020 | 10/2020 | 09/2020 | 08/2020 | 07/2020 | 04/2020 | 03/2020 | 02/2020 | 01/2020 | 12/2019 | 11/2019 | 10/2019 | 09/2019 | 08/2019 | 07/2019 | 06/2019 | 04/2019 | 02/2019 | 01/2019 | 12/2018 | 11/2018 | 10/2018 | 09/2018 | 08/2018 | 07/2018 | 05/2018 | 04/2018 | 03/2018 | 02/2018 | 01/2018 | 11/2017 | 10/2017 | 09/2017 | 08/2017 | 07/2017 | 06/2017 | 05/2017 | 04/2017 | 03/2017 | 02/2017 | 01/2017 | 12/2016 | 11/2016 | 10/2016 | 09/2016 | 08/2016 | 06/2016 | 05/2016 | 04/2016 | 02/2016 | 12/2015 | 11/2015 | 09/2015 | 07/2015 | 06/2015 | 05/2015 | 02/2015 | 01/2015 | 12/2014 | 09/2014 | 07/2014 | 06/2014 | 04/2014 | 02/2014 | 01/2014 | 12/2013 | 11/2013 | 10/2013 | 09/2013 | 08/2013 | 07/2013 | 05/2013 | 04/2013 | 03/2013 | 02/2013 | 01/2013 | 12/2012 | 11/2012 | 10/2012 | 09/2012 | 08/2012 | 07/2012 | 05/2012 | 03/2012 | 02/2012 | 01/2012 | 12/2011 | 11/2011 | 10/2011 | 09/2011 | 08/2011 | 07/2011 | 06/2011 | 05/2011 | 04/2011 | 03/2011 | 02/2011 | 01/2011 | 12/2010 | 11/2010 | 10/2010 | 09/2010 | 08/2010 | 07/2010 | 06/2010 | 05/2010 | 04/2010 | 03/2010 | 02/2010 | 01/2010 | 12/2009 | 11/2009 | 10/2009 | 09/2009 | 08/2009 | 07/2009 | 06/2009 | 05/2009 | 04/2009 | 03/2009 | 02/2009 | 01/2009 | 12/2008 | 11/2008 | 10/2008 | 09/2008 | 08/2008 | 07/2008 | 06/2008 | 05/2008 | 04/2008 | 03/2008 | 02/2008 | 01/2008 | 12/2007 | 11/2007 | 10/2007 | 09/2007 | 08/2007 | 07/2007 |
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
Wysyłanie zdjęć na Wikicommons

W tym tekście opiszę w jaki sposób wysyłam swoje zdjęcia na Wikimedia Commons stosując lekko podrasowany skrypt Erika Möllera (wersja oryginalna). Po pierwsze należy zarejestrować się na Wikimedia Commons (w sposób opisany na podanej wyżej stronie). Potem zmodyfikować skrypt, nadając odpowiednie wartości zmiennym $username oraz $password, znajdującym się na początku skryptu. Teraz należy skopiować wszystkie obrazki do katalogu i uruchamiać skrypt (,,z poziomu'' katalogu nadrzędnego) w następujący sposób:

perl upld2wc.pl katalog

W wyniku działania skryptu powstanie zaślepkowy plik files.txt, który wygląda jakoś tak:

>plik1.jpg
{{Information
|Description= [[:pl:Sopot|Sopot]], Poland
|Source=own work
|Date=2007
|Author=Tomasz Przechlewski
|Permission={{cc-by-2.5}}
}}

>plik2.jpg
{{Information
|Description= [[:pl:Sopot|Sopot]], Poland
|Source=own work
|Date=2007
|Author=Tomasz Przechlewski
|Permission={{cc-by-2.5}}
}}
...

Teraz trzeba dodać/zmodyfikować opis do każdego rysunku (wiersz Description); następnie należy uruchomić skrypt powtórnie:

perl upld2wc.pl katalog

Jakoś nie mogę się przekonać do używania Unicode (nie mam też specjalnie do tego motywacji -- jeden bajt cały czas mi wystarcza), dlatego skrypt ,,oczekuje'', że plik files.txt jest kodowany w wariancie iso-8859-2, natomiast to co jest wysyłane na Wikimedia Commons jest w Unikodzie.

Zdjęcia zrobione w trybie pionowym trzeba oczywiście obrócić. Do tego celu używam programu jpegtran, ale taki sposób żeby zostały zachowane metadane EXIF. Do modyfikowania metadanych EXIF używam programu exiv2:

# kompletny skrypt jest tutaj
exiv2 ex plik-we.jpg # zapisuje EXIF w pliku plik-we.exv 
jpegtran -rotate 90 plik-we.jpg > plik-wy.jpg # obrót
mv plik-we.exv plik-wy.exv # zmiana nazwy
exiv2 -in plik-wy.jpg # wstawia EXIF do obróconego pliku

W podręczniku programu exiv2 błędnie podane jest exiv2 -it zamiast exiv2 -in. Uwaga: podanie exiv2 -pt powoduje wyświetlenie wszystkich metadanych. Zamiast jpegtran można spróbować skorzystać z programu exiftran, który potrafi obrócić obrazek z zachowaniem metadanych. Program exiftran znajduje się w archiwum fbida (przynajmniej w dystrybucji FC5).

Wreszcie nie zawadzi dodać informacje dotyczące autora/licencji do samego pliku ze zdjęcie modyfikując odpowiednie pola EXIF, w tym przypadku Exif.Image.Artist oraz Exif.Image.Copyright:

# kompletny skrypt jest tutaj
exiv2 -M"set Exif.Image.Copyright Licence: CC Attribution" \
  -M"set Exif.Image.Artist Creator: Tomasz Przechlewski" plik

BTW: do manipulowania metadanymi EXIF w skryptach Perla służy świetny pakiet Image::ExifTool. (Por. Mój sposób na dodawanie zdjęć na flickr.com).

Dopisane 21 lutego 2008: Exiv2 jest do kitu, a co najmniej niepotrzebny. Zdjęcie można obrócić dużo prościej. Zamiast mnożyć byty w postaci skryptów basha, My_jpeg_rot (BTW znak minus w nazwach jest niepoprawny w bashu) jest funkcją, którą należy umieścić w ~/.bash_profile:

# Obrót pliku .jpg z zachowaniem metadanych EXIF
# wykorzystanie: My_jpeg_rot [-l -r -u] plik
function My_jpeg_rot () {

ROT="90"

while test $# -gt 0; do
  case "$1" in
       -l) ROT="90" ;;
       -r) ROT="270" ;;
       -u) ROT="180" ;;
        *) FILE="$1" ;;
  esac
  shift
done

if [ "$FILE" = "" ] ; then
  echo " *** Podaj nazwę pliku ***"
else
  f=`basename $FILE .jpg`
  jpegtran -rotate 90 -copy all -outfile "${f}_r".jpg "$f".jpg
  # clear rotation/orientation so that some viewers (e.g. Eye
  # of GNOME) won't be fooled
  jhead -norot "${f}_r".jpg 
fi

unset FILE ROT f 
}

Zobacz też HOWTO: Rotate JPG images in GNOME's Nautilus File Manager.

Podobnie skrypt dodający informacje dotyczące autora/licencji zmieniłem na program w Perlu wykorzystujący doskonały moduł Image::ExifTool zamiast exiv2:

#!/usr/bin/perl -w
# Wykorzystnie: $0 [-l licencja ][-c autor] plik1 plik2 ...
use strict;
use Image::ExifTool;
use Getopt::Long;

my $credentials = "Creator: Tomasz Przechlewski";
my $license_stmt = "Licence: CC Attribution";
my $help = 0;

GetOptions( 'help' => \$help,
    'credentials=s' => \$credentials,
    'license=s' => \$license_stmt,);

if ($help) { print "$0 [-l cpr_notice][-c creator] file1 file2 ...\n"; exit 0 ;}

my $eT = new Image::ExifTool; 

while( my $photo = shift @ARGV ) {
  $eT->ExtractInfo($photo);

  #add_more_exif($exifTool);
  $eT->SetNewValue(Artist => "$credentials");
  $eT->SetNewValue(Copyright => "$license_stmt");

  # rewrite Photo to update Exif:
  
  $eT->WriteInfo($photo);
  print "Done: $photo $credentials $license_stmt\n";
}
## -- end --
url | Wed, 01/08/2007 23:00 | tagi: , , , ,