如何将数千个NEF批量转换为JPEG?


16

我不小心将相机(尼康D70)设置为仅使用NEF拍摄,而不能使用NEF + JPEG拍摄。

显然,当我要遍历所有内容时,这将是一个巨大的痛苦。我不嫉妒一次等待等待几秒钟才能渲染一张图片。

有什么方法可以将整套(成千上万张图片)批量转换为JPEG?

我正在运行Windows 7和Xubuntu 12.04。


1
您可能会用相机获得View NX2的副本(可以从尼康网站上下载)-它将进行批量转换并以与相机转换类似的方式进行
BJ292 2013年

在我的Mac上,将NEF批量转换为JPG时,ViewNX2随机崩溃。更糟糕的是,您无法从上次崩溃的位置重新启动。此外,ViewNX2的开发也已停止,尼康已开发了一种新工具Capture NX-D-我尚未使用过它,但在进行大批量转换时会谨慎使用。
Regmi

Answers:


9

另一个很棒的免费工具是IrfanView,与插件结合使用时,可以将几乎任何格式的批处理都转换为JPG。

问:我可以在Linux上使用IrfanView吗?

答:可以。没有IrfanView的本机Linux版本。但是,您可以将IrfanView与WINE,Windows Linux仿真器和基于Linux的虚拟机之类的Linux程序结合使用。取得ZIP版本的IrfanView并将其解压缩,或将现有的Windows IrfanView文件夹复制到Linux。这很容易,因为安装程序可能需要其他Windows DLL才能运行。

如果您想要的软件与操作系统无关,那么我建议使用UFRaw。单独使用或与Gimp结合使用


我认为这是比我更好的解决方案,IrfanView可以做的比这些转换要多得多。
galuano1 2013年

2
好吧,这取决于OP来判断:)
Darius

27

在Ubuntu上,一种解决方案是使用dcrawNEF转换为PBM,pnmtopng并将PBM转换为png。因此,打开终端并运行以下命令:

sudo apt-get install netpbm dcraw

我没有任何.NEF图像可以对此进行测试,但是根据此页面,您可以执行以下操作:

将所有NEF图像转换为PNG:

dcraw -c -w input.NEF | pnmtopng > output.png

要转换整个目录:

for filename in *.NEF ; do dcraw -c -w "$filename" | pnmtopng > "$filename.png" ; done

但是,可能满足您所有批处理图像处理需求的最佳工具是ImageMagick。它是免费的,开源的,跨平台的,并且可以执行您能想到的所有事情,包括调整大小,裁剪,管理透明度,蒙太奇以及在阳光下在大多数图像格式之间进行转换。这本来是我的第一选择,但是我发现一些(较旧的)帖子声称它不适用于NEF。尽管如此,他们的网站上说,它不会,所以你应该尝试一下,在任何情况下,真的很值得我们学习。使用以下命令在Ubuntu上安装它:

sudo apt-get install imagemagick

转换单个.NEF:

convert foo.NEF foo.jpg

要转换当前目录中的所有.NEF文件(将覆盖原始文件):

mogrify -format jpg *.NEF

要执行相同的操作但保留原始文件,请convert循环运行:

for img in *.NEF; do convert "$img" "$img.jpg"; done

4
您可能需要先安装ufraw-batch。(我必须努力sudo apt-get install ufraw-batch工作)
Clash

4
哦,mogrify -format jpg *.NEF并且不会覆盖原件
Clash

这很棒!如果我也要为子目录中的NEF运行“ mogrify -format jpg * .NEF”,bash脚本将如何?谢谢。
2013年

2
@Regmi试试find . -name "*.NEF" -exec mogrify -format jpg {} +
terdon

谢谢,这正是我在寻找的东西,除了某些Windows程序外,我也不想安装WINE!只是想以Linux方式将其作为单个命令运行。再次感谢!
xamox

10

如果您确实要使用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




By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.