Jest problem z opisami EXIF niektórych zdjęć robionych szerokokątnym
obiektywem Olympus Zuiko Digital 11--22 f/2.8-3.5. Niektórymi żeby było śmieszniej
-- widocznie zależy to od nastaw. Otóż
jeżeli synchronizuję zdjęcia ze śladem GPS za pomocą
gpsPhoto.pl
, to pojawia się komunikat:
error: [minor] Bad MakerNotes directory
Komunikat generuje jakaś procedura z pakietu
Image::ExifTool
,
wykorzystywana przez gpsPhoto.pl
.
Po aktualizacji exiftool do 8.06 o tyle się sytuacja zmieniła, że
komunikat jest inny:
error: [minor] Bad EquipmentIFD directory.
Gdybym korzystał ze skryptu exiftool
, to błąd można zignorować
dodając opcję -m
przy uruchamianiu skryptu.
Ale ja używam gpsPhoto.pl
,
które z kolei korzysta z perlowego pakietu Image::ExifTool
. Żeby nie
modyfikować gpsPhoto.pl
(beznadziejna na oko sprawa),
poprawiam wpisy EXIF poniższym programem w Ruby.
Słowo poprawiam oznacza
dokładnie tyle, że poprawne wpisy są przepisane a błędne zignorowane.
Otrzymane w rezultacie opisy EXIF są niekompletne. Opcja -m
działa
dokładnie identycznie.
#! /usr/bin/ruby # fix_tags.rb by Sijmen Mulder <sjmulder@gmail.com> in 2008. Public domain. files = Dir.glob("*.JPG").concat Dir.glob("*.jpg") files.each do |file| commands = [ "cp #{file} #{file}_original", "exiftool -overwrite_original -q -exif:all= \"#{file}\"", "exiftool -overwrite_original -q -q -tagsfromfile \"#{file}_original\" --MakerNotes \"#{file}\" " ] puts(file) commands.each do |c| #puts(c) system(c) end end puts "Processed #{files.length} file(s)."
Powyższy skrypt kopiuje każdy plik .jpg
z bieżącego katalogu,
a następnie wstawia do kopii wyłącznie poprawne wpisy EXIF z pliku oryginalnego.
Program jest w Ruby bo znaleziono go w sieci. Można by przerobić w innym języku ale mi się nie chce
Cała procedura jest taka sobie,
bo poprawione pliki .jpg
zawierają niekompletne
opisy EXIF, ale póki co nic lepszego nie wymyśliłem.
Przetestowałem dzisiaj jak szybki jest sheevaplug. Najpierw ustaliłem w jaki procek jest wyposażony mój PCet:
cat /proc/cpuinfo
W rezultacie wyszło,
że jest to Core(TM)2 Duo CPU E4500 @ 2.20GHz
.
To samo na sheevaplug wykazało, że:
ARM926EJ-S rev 1 (v5l)
Prosty program w Perlu wykonywał się odpowiednio 12 i 61 sekund z czego by wynikało, że Szewa jest 5 razy wolniejsza... Nie jest aż tak źle, myślałem że będzie gorzej.