Finally, with lots of help on the Internet, including the suggestion by @StarGeek, I got it to work. The required tools are:
You also need a photo taken with the camera, here:
R0000349.JPG
For testing, if you don't have an existing image, create one (can be any aspect ratio):
convert -size 2000x1000 radial-gradient:red-blue TEST.JPG
Then convert that image:
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
To set the orientation of the image, add another step:
ORIENTATION=1 # 1 = 0°, 3 = 180°, 6 = 90°, 8 = -90°
exiftool -Orientation=$ORIENTATION -n $OUTPUT
Finally, put $OUTPUT
into a DCF compatible path on your camera.
Make sure that the number in the file name is unique on the card, or else the camera may be confused. For example, if there is A0000001.JPG
and B0000001.JPG
on the card, then my Ricoh GR III displays neither of the images.
...but so far I haven’t succeeded.
Glad to see that you've tried already. Could you please share what commands/scripts/methods you used so far and what their (non-successful) outcome was? Also, what's the final goal of uploading photos to your camera? \$\endgroup\$JFIF
blocks as per that thread? You would add-JFIF:ALL=
to your command. \$\endgroup\$