Мені потрібно конвертувати багато CR2 фотографій в JPG або PNG, без редагування. Як це зробити?
Мені потрібно конвертувати багато CR2 фотографій в JPG або PNG, без редагування. Як це зробити?
Відповіді:
Ufraw
ви можете конвертувати .cr2
за .jpeg
допомогою ufraw.
sudo apt-get install ufraw
Клацніть правою кнопкою миші на файл і виберіть open with ufraw
.
** Ви також можете імпортувати їх у Gimp, gimp-ufraw
а потім експортувати як .png
або .jpeg
.
sudo apt-get install gimp-ufraw
Я піду іншим маршрутом ... Користуватися ufraw-batch
не потрібно ufraw
.
sudo apt-get install ufraw-batch
## This will output (not replace) the file with a new extension.
## foo.CR2 exported to foo.png
ufraw-batch --out-type png *.CR2
Дивіться ufraw-batch --help
та man ufraw-batch
для отримання додаткової інформації.
ufraw-batch --out-type png $(ls IMG_93{44..99}* 2>| cat)
Для іншої альтернативи скористайтесяmogrify
:
mogrify -format png *.cr2
Ви також можете запрограмувати простий цикл у консолі.
Наприклад (використовуючи рибну консоль) та припускаючи, що в активному каталозі є лише файли RAW.
set files (ls)
for i in $files
dcraw $i
end
або
set files (ls)
for i in $files
ufraw-batch --out-type=tif --out-depth $i
end
Я використовую ufraw-batch таким чином, оскільки це часто призводить до помилок, див. Https://bugs.launchpad.net/ubuntu/+source/ufraw/+bug/1768855 .
Метод, який справді працював для мене:
Вам потрібно dcraw
і ppmtojpeg
(встановити за допомогою apt)
for i in *.CR2; do dcraw -c $i | ppmtojpeg > $1.jpg; echo $i done; done
Що це робить: спочатку конвертуйте CR2 в PPM з dcraw
передачею виводу, в ppmtojpeg
який перетворюється в JPG.
Я знайшов це тут
Використання:
exiftool -Composite:PreviewImage -b photo.CR2 > photo.jpg
Більш довга відповідь:
якість перетворення ufraw-пакет дуже погана. Imagemagick використовує ufraw під капотами (на жаль). цвіль краща, але все ж не велика. Найкращим рішенням, який я знайшов, було використання exif для вилучення метаданих PreviewImage. Я вважаю, що це породжене самою камерою.
Створіть файл bash як foo.sh та виконайте як ./foo.sh у командному рядку:
#!/bin/sh
for i in $(ls)
do
ufraw-batch --out-type png $i
echo "conversion done $i"
done