nc4*_*4pk 17 batch jpeg image-conversion camera-raw
我不小心将我的相机(尼康 D70)设置为仅以 NEF 而不是 NEF+JPEG 拍摄。
显然,当我想经历所有这些时,这将是一个巨大的痛苦。我不羡慕每次必须等待几秒钟才能渲染一张图片。
有什么方法可以将整个集合(数千张图片)批量转换为 JPEG?
我正在运行 Windows 7 和 Xubuntu 12.04。
ter*_*don 28
在 Ubuntu 上,一种解决方案是dcraw
将 NEF 转换为 PBM,pnmtopng
并将 PBM 转换为 png。因此,打开终端并运行以下命令:
sudo apt-get install netpbm dcraw
Run Code Online (Sandbox Code Playgroud)
我没有任何 .NEF 图像来测试这个,但根据这个页面,你可以这样做:
将所有 NEF 图像转换为 PNG:
Run Code Online (Sandbox Code Playgroud)dcraw -c -w input.NEF | pnmtopng > output.png
要转换整个目录:
Run Code Online (Sandbox Code Playgroud)for filename in *.NEF ; do dcraw -c -w "$filename" | pnmtopng > "$filename.png" ; done
然而,可能是满足您所有批处理图像处理需求的最佳工具是ImageMagick。它是免费的、开源的、跨平台的,几乎可以做您能想到的所有事情,包括调整大小、裁剪、管理透明度、蒙太奇以及在阳光下在大多数图像格式之间进行转换。这本来是我的第一选择,但我发现一些(较旧的)帖子声称它不适用于 NEF。尽管如此,他们的网站上说确实如此,所以您应该尝试一下,无论如何,这确实值得学习。在 Ubuntu 上安装它:
sudo apt-get install imagemagick
Run Code Online (Sandbox Code Playgroud)
要转换单个 .NEF:
convert foo.NEF foo.jpg
Run Code Online (Sandbox Code Playgroud)
要转换当前目录中的所有 .NEF 文件(将覆盖原始文件):
mogrify -format jpg *.NEF
Run Code Online (Sandbox Code Playgroud)
要执行相同操作但保留原始文件,请convert
循环运行:
for img in *.NEF; do convert "$img" "$img.jpg"; done
Run Code Online (Sandbox Code Playgroud)
小智 11
如果您最终使用了ImageMagick
,那么我建议xargs
您在实际上有数千张图像要转换时使用,而不是使用for
循环。这样,您可以轻松提高并行度:
# Runs these conversions serially
ls *.NEF | sed 's#.NEF##' | xargs -I^ convert ^.NEF ^.jpg
# Runs these conversions with 8 different processes
ls *.NEF | sed 's#.NEF##' | xargs -P8 -I^ convert ^.NEF ^.jpg
Run Code Online (Sandbox Code Playgroud)
Dar*_*ius 10
另一个很棒的免费工具是IrfanView,当与插件结合使用时,它可以从几乎任何格式批量转换为 JPG。
答:是的。没有 IrfanView 的原生 Linux 版本。但是,您可以将 IrfanView 与 WINE、Windows Linux 模拟器和基于 Linux 的虚拟机等 Linux 程序结合使用。获取 IrfanView 的 ZIP 版本并将其解压缩或将现有的 Windows IrfanView 文件夹复制到 Linux。这更容易,因为安装程序可能需要额外的 Windows DLL 才能运行。
如果你想要一个更独立于操作系统的软件,那么我会推荐UFRaw。单独使用或与Gimp结合使用