• MIT FiveK图像转化--DNG到TIFF,TIFF到JPEG


    MIT FiveK图像转化--DNG到TIFF,TIFF到JPEG

      MIT FiveK数据库是研究图像自动修饰算法会用到的基准数据库,然而那个网页上提供给我们的5000张原始图像的格式为DNG格式(一种raw格式),需要我们自己应用dcraw对图像进行处理;同时,经过专家修饰过的图像被分散到不同的链接下进行下载(下载的爬虫,可以参考这篇博客),而且格式为16位tiff格式,差不多总共两三百G的大小。数据集非常庞大,而且dng格式不利于程序的处理,因此博主希望能够将这些图片全部都转为最为常见的sRGB空间的JPEG格式,下面就介绍具体操作方法。

    注:所用的系统为Ubuntu系统

    1、应用dcraw将DNG格式转为16位TIFF格式

      首先,需要将原始的数据集从本网站上下载下来,将分散到数个文件夹中的DNG图片放入同一个文件夹中,然后对逐个文件应用dcraw来进行处理,转为16位TIFF文件,色彩空间为Pro Photo,shell脚本如下:

     

    chmod a+rwx DNG2TIFF.sh
    filelist=$(ls *.dng | tr " " "?") #获得文件夹中所有的文件的文件名(这一处理可以解决文件名中有空格的问题,读取完整的文件名)
    #遍历dng文件,用dcraw进行处理
    for file in $filelist
    do 
     dcraw -o 4 -4 -T "$file" #对图片进行处理,最后路径上加双引号是因为有的路径之间是有空格的,添加双引号可以避免shell将空格认为分割符号
     rm -f "$file" #删除原始DNG文件
    echo "$file" 'done!'
    done

     

    其中主要需要注意的点是,这个数据集中的某些文件(共29个)的文件名中是包含空格的,在使用shell脚本遍历文件名或者访问文件时尤其需要注意这一点。

    2、应用ImageMagick将TIFF转为JPEG

      ImageMagick可以说是ubuntu系统上面处理图片神器,可以对图像执行的操作非常丰富,感觉就像是命令行版本的photoshop一样。这一部分主要实现的转换为,将16位TIFF图片(Pro Photo色彩空间)转为JPEG(sRGB)。首先需要在TIFF文件夹内新建立一个名为“JPEG”的文件夹,用于放置处理之后的JPEG图片。同上一个转换一样,也需要注意文件名中的空格问题,具体shell脚本如下。

    chmod a+rwx TIFF2JPEG.sh
    filelist=$(ls *.tiff | tr " " "?") #获得文件夹中所有的文件
    #遍历tiff文件,用ImageMagick进行处理
    for file in $filelist
    do
     file_name=${file%.*}
     convert "$file" -profile sRGB.icc JPEG/"$file_name".jpeg #对每一张tiff格式的图片进行处理
    echo "$file" 'done!'
    done 

    其中sRGB.icc文件为sRGB的色彩配置文件,可以在这个地址下载 。

  • 相关阅读:
    hdu1313 Round and Round We Go (大数乘法)
    select样式控制
    tp5 分页后追加数据方法
    tp5请求类型
    layui 参数祥解
    jquery 阻止label冒泡
    svn的配置
    destoon 根目录文件结构
    关于jquery中on绑定click事件在苹果手机失效的问题
    正则表达式中的match,test,exec,search的返回值
  • 原文地址:https://www.cnblogs.com/AlgrithmsRookie/p/11593090.html
Copyright © 2020-2023  润新知