this post was submitted on 25 Sep 2023
17 points (100.0% liked)

Asklemmy

1452 readers
78 users here now

A loosely moderated place to ask open-ended questions

Search asklemmy ๐Ÿ”

If your post meets the following criteria, it's welcome here!

  1. Open-ended question
  2. Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.
  3. Not regarding using or support for Lemmy: context, see the list of support communities and tools for finding communities below
  4. Not ad nauseam inducing: please make sure it is a question that would be new to most members
  5. An actual topic of discussion

Looking for support?

Looking for a community?

~Icon~ ~by~ ~@Double_A@discuss.tchncs.de~

founded 5 years ago
MODERATORS
 

Issue - I have 282 .CR2(raw) photos that need to be converted in batch/mass to same time but don't know how. OS - Vanilla OS 22.10 (Ubuntu)

  • Can this be done with darktable? If so how?
  • Any software recommendations for this? I rather not use online tools for privacy and compression reasons.
top 5 comments
sorted by: hot top controversial new old
[โ€“] zurohki@aussie.zone 13 points 1 year ago (1 children)

With GNU Parallel and Imagemagick installed, this command should do it:

parallel convert {} {.}.jpg ::: *.cr2

As always, backup your files before you run things some internet rando gave you.

[โ€“] gonzoknowsdotcom1@monero.town 2 points 1 year ago* (last edited 1 year ago) (1 children)

Thank you for this! I will test it out

Do you have an example?

[โ€“] zurohki@aussie.zone 4 points 1 year ago* (last edited 1 year ago)

I'm not sure what you're asking for. That's the command. Unless you meant an explanation?

The basic command is convert filename.cr2 filename.jpg.

That parallel command runs the convert command on all of the .cr2 files in the current directory, running a bunch of them simultaneously. {} is replaced with the name of a file, and {.} is replaced with the filename without the extension.

https://www.gnu.org/software/parallel/parallel_examples.html

If you didn't want to use parallel and are okay with it slowly converting one file at a time, you can just use a for loop:

for file in *.cr2 ; do
  convert $file ${file%.cr2}.jpg
done

That one uses some Bash variable magic to remove the .cr2 and add .jpg to the file name of the output file.

convert is smart enough that you can just give it an output name ending in .jpg and it knows it should convert the input file to JPEG.

[โ€“] mp3@lemmy.ca 4 points 1 year ago

Your best bet would be imagemagick in command-line

https://blog.nathantsoi.com/article/Batch_Convert_CR2_to_JPG/

[โ€“] Goodvibes@lemmy.cafe 4 points 1 year ago

Since you mentioned darktable I assume you already know this, but depending on the camera's raws and the presets that imagemagick has for converting these photos the results might be undesirable if not inspected or tweaked. Not disparaging any advice given here, just mentioning that generally raws are edited on a case by case basis to fix camera artifacts and color issues. Hope the solutions others have posted work out for you!