使用rawpy将多个原始.NEF图像转换为TIFF

时间:2017-02-26 03:10:53

标签: python image image-processing tiff data-conversion

我一直在搜索这个论坛,但找不到我的问题的相关答案。我只找到了单文件转换的解决方案。

我想将Nikon RAW图像(.NEF)的 目录 转换为TIFF(.tiff)。 这可以通过rawpy插件显然实现。我不熟悉python并且已经尽力而为。您可能会发现我的脚本很可笑:)

我希望能够将目录路径粘贴到命令行并将其转换为16位tiff。

import rawpy
import imageio

paths = 'C:\Users\Jake\Desktop\Exposuretests\Darks'

for i in paths:
    with rawpy.imread(paths) as raw:
        rgb = raw.postprocess()
imageio.imsave(paths + '.tiff', rgb)

提前感谢所有帮助。我相信对于精通python的人来说这很简单!

2 个答案:

答案 0 :(得分:3)

如果使用大多数Linux发行版上安装的 ImageMagick 并且可用于macOS和Windows,则可以非常简单地完成,而无需编写任何Python或循环。

在终端中,只需输入:

    ConcurrentHashMap<String, Integer> hm = new ConcurrentHashMap<>();
    hm.put("1", 1);
    hm.put("2", 2);
    hm.put("3", 3);
    Iterator<String> itr = hm.keySet().iterator();
    while(itr.hasNext()){
        String key = itr.next();
        System.out.println(key + " : " + hm.get(key));
        hm.put("4", 4);
    }
    System.out.println(hm);

    ConcurrentHashMap<String, Integer> hm1 = new ConcurrentHashMap<>();
    hm1.put("One", 1);
    hm1.put("Two", 2);
    hm1.put("Three", 3);
    Iterator<String> itr1 = hm1.keySet().iterator();
    while(itr1.hasNext()){
        String key = itr1.next();
        System.out.println(key + " : " + hm1.get(key));
        hm1.put("Four", 4);
    }
    System.out.println(hm1);

答案 1 :(得分:0)

我想你已经解决了这个问题,但有一些错别字:

import rawpy
import imageio

paths = 'C:\Users\Jake\Desktop\Exposuretests\Darks'

for i in paths:
    with rawpy.imread(paths) as raw:
        rgb = raw.postprocess()
    imageio.imsave(paths + '\file_' + i + '.tiff', rgb)

可能会做到这一点。

史蒂夫