Как сделать файлы JPG совместимыми с DCF? (командная строка)

В настоящее время я использую Sony Imaging Edge Desktop , чтобы сделать отдельные фотографии доступными для просмотра в камере. Однако это неудобно, если изображений много.

Как это можно сделать из командной строки?

Согласно ветке Сделать файл JPEG совместимым с DCF на форуме ExifTool, это возможно с помощью ExifTool, но пока мне это не удалось. Я попытался скопировать данные EXIF ​​из изображения, снятого моей камерой (Ricoh GR III):

exiftool -TagsFromFile R0000001.JPG -all:all -unsafe -XML:All R0000007.JPG
...but so far I haven’t succeeded.Рад видеть, что вы уже попробовали. Не могли бы вы поделиться, какие команды/скрипты/методы вы использовали до сих пор и каков был их (неуспешный) результат? Кроме того, какова конечная цель загрузки фотографий на камеру?
В основном я пытался скопировать все данные EXIF ​​​​из изображения, которое я сделал с помощью камеры. Цель состоит в том, чтобы просмотреть изображения на камере, которые поступают откуда-то еще. Работает, как раз с той сони тулзой, думаю пакетного варианта нет.
Как вы пытались скопировать все данные EXIF? Не стесняйтесь переписать свой вопрос и включить команду, которую вы использовали для этого. Я понимаю, что вы хотите просматривать изображения на камеру, но действительно ли это конечная цель? Я подозреваю, что вы хотите просмотреть их на камеру с определенной целью. Если вы можете включить эту цель в свой вопрос, могут быть другие методы для достижения той же конечной цели.
Конечная цель — просмотр изображений в камере.
Почему бы не просмотреть их на своем телефоне, планшете или любом другом устройстве с экраном? Можно ли извлечь все теги EXIF ​​из изображения, затем запустить его через программное обеспечение Sony, снова извлечь все теги EXIF ​​и выполнить сравнение, чтобы увидеть, что изменилось?
Вы удалили какие-либо JFIFблоки в соответствии с этой веткой? Вы бы добавили -JFIF:ALL=к своей команде.
@StarGeek Спасибо, это сработало, но только в сочетании с изменением субдискретизации цветности с помощью ImageMagick.

Ответы (1)

Наконец, с большой помощью в Интернете, включая предложение @StarGeek, я заставил его работать. Необходимые инструменты:

Также нужно фото, сделанное камерой, вот:

R0000349.JPG

Для тестирования, если у вас нет существующего изображения, создайте его (соотношение сторон может быть любым):

convert -size 2000x1000 radial-gradient:red-blue TEST.JPG

Затем конвертируйте это изображение:

INPUT=TEST.JPG
OUTPUT=A0000001.JPG # DCF compatible
THUMBNAIL=THUMB.JPG
ORIGINAL=R0000349.JPG # taken with the camera
convert -sampling-factor 4:2:2 $INPUT $OUTPUT
exiftool -TagsFromFile $ORIGINAL -all:all -unsafe -XML:All -JFIF:ALL= $OUTPUT
convert $INPUT -resize 160x120 -background black -gravity center -extent 160x120 -sampling-factor 4:2:2 $THUMBNAIL
exiftool "-ThumbnailImage<=$THUMBNAIL" $OUTPUT

Чтобы установить ориентацию изображения, добавьте еще один шаг:

ORIENTATION=1 # 1 = 0°, 3 = 180°, 6 = 90°, 8 = -90°
exiftool -Orientation=$ORIENTATION -n $OUTPUT

Наконец, поместите $OUTPUTв DCF- совместимый путь на вашей камере.

Убедитесь, что номер в имени файла уникален на карте, иначе камера может перепутаться. Например, если на карте есть A0000001.JPGи , то мой Ricoh GR III не отображает ни одного изображения.B0000001.JPG