Archive for the ‘Graphics’ Category

libgphoto2-2.4.0 and canon cameras

Март 23, 2008

В последнее время я пользовался кардридером для копирования фотографий со своего canon [s60, если кому интересно], но недавно решил подключить камеру к лаптопу. И что я вижу?
[code][cheer@lap ~]$ gphoto2 -L
Detected a ‘Canon:PowerShot S60 (normal mode)’.
*** Error (-114: ‘OS error in camera communication’) ***

For debugging messages, please use the –debug option.
Debugging messages may help finding a solution to your problem.
If you intend to send any error or debug messages to the gphoto
developer mailing list , please run
gphoto2 as follows:

env LANG=C gphoto2 –debug –debug-logfile=my-logfile.txt -L

Please make sure there is sufficient quoting around the arguments.[/code]

При запуске с опцией –debug выяснилось, что у камеры наступает timeout. Поиск выдал следующий результат:

Кратко: после увеличения таймаута с 75ms до 150ms (для этого следует изменить CANON_FAST_TIMEOUT в файле camlibs/canon/usb.c:75) проблема решена. Пинать надо разработчиков дистрибутивов, потому что в svn проблема уже решена.

Конвертация из RAW в JPEG

Июнь 4, 2007

Многие фотокамеры предоставляют возможность снимка в “сырой” формат, RAW. В моём Canon Powershot S60 это CRW. Хоть я и не занимаюсь никакой обработкой фотографий (считаю, что не стоит недостатки оптики или своих рук исправлять с помощью всяких The GIMP!), но снимаю в RAW, так как снимки получаются намного лучше в этом формате.
Поскольку фотосервисы принимают фотографии только в jpeg (ну или ещё каком-нибудь формат, но не RAW), то встаёт вопрос о конвертации в jpeg. Тут вроде бы всё просто: есть dcraw, есть фронтэнды к нему (ufraw, плагин к gimp, поддерживающий пакетную обработку), но проблема в том, что exif информация не сохраняется при использовании dcraw. На странице про ufraw пишут, что он способен сохранять exif-информацию при конвертации, но у меня не вышло этого сделать.
Нашлась программа exiftool, которая позволяет скопировать exif теги. Итак, уже ясна идея. Вначале надо воспользовать batch-обработкой с помощью ufraw-batch, а потом скопировать теги:
exiftool -TagsFromFile CRW_0001.CRW CRW_0001.jpg
Вначале даём команду:
ufraw-batch --out-type=jpeg --compression=100 *.CRW

Для пакетной обработки был написан следующий скрипт:

#!/bin/bash
for file in *.CRW
do
exiftool -TagsFromFile $file `basename $file .CRW`.jpg
done