MIT FiveK图像转化--DNG到TIFF,TIFF到JPEGphp
MIT FiveK数据库是研究图像自动修饰算法会用到的基准数据库,然而那个网页上提供给咱们的5000张原始图像的格式为DNG格式(一种raw格式),须要咱们本身应用dcraw对图像进行处理;同时,通过专家修饰过的图像被分散到不一样的连接下进行下载(下载的爬虫,能够参考这篇博客),并且格式为16位tiff格式,差很少总共两三百G的大小。数据集很是庞大,并且dng格式不利于程序的处理,所以博主但愿可以将这些图片所有都转为最为常见的sRGB空间的JPEG格式,下面就介绍具体操做方法。html
注:所用的系统为Ubuntu系统算法
一、应用dcraw将DNG格式转为16位TIFF格式shell
首先,须要将原始的数据集从本网站上下载下来,将分散到数个文件夹中的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脚本遍历文件名或者访问文件时尤为须要注意这一点。ubuntu
二、应用ImageMagick将TIFF转为JPEG
网站
ImageMagick能够说是ubuntu系统上面处理图片神器,能够对图像执行的操做很是丰富,感受就像是命令行版本的photoshop同样。这一部分主要实现的转换为,将16位TIFF图片(Pro Photo色彩空间)转为JPEG(sRGB)。首先须要在TIFF文件夹内新创建一个名为“JPEG”的文件夹,用于放置处理以后的JPEG图片。同上一个转换同样,也须要注意文件名中的空格问题,具体shell脚本以下。spa
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的色彩配置文件,能够在这个地址下载 。命令行
原文出处:https://www.cnblogs.com/AlgrithmsRookie/p/11593090.htmlcode