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 - -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的色彩配置文件,可以在这个地址下载 。
MIT FiveK图像转化--DNG到TIFF,TIFF到JPEG的更多相关文章
- matlab中文本文件与图像转化
一 将图片转化为txt文本文件 a=imread('picture.bmp'); //读取picture.bmp图片 b=rgb2gray(a); //由rgb图 ...
- python将图像转化为矩阵
Image.fromarray(matrix).show()
- JPEG图像密写研究(一) JPEG图像文件结构
[转载]转载自http://www.cnblogs.com/leaven/archive/2010/04/06/1705846.html JPEG压缩编码算法的主要计算步骤如下: (0) 8*8分块. ...
- tiff或tif文件的读取
以下是VC下读取TIFF文件的代码 char* szFileName = "K:\\地图\\fujian-DEM\\fujian1.tif"; TIFF* tiff = TIFFO ...
- Flex 加载tiff
gis系统常常要加载tiff,因为好多土地证书,各种文件都是扫描件,如果你是用as来写的前台,怎么加载呢,顺便说下用插件AlternaTIFF也是可以得不过浏览器加载这么多插件是不太好的. 首先TIF ...
- python图像处理(2)图像水印和PIL模式转化
模式转化: PIL模式转化:将图片转化成其他模式 # 我们将image图像转化为灰度图像(python) from PIL import Image img = Image.open('c:\\1.J ...
- matlab各类数据l图像之间的转化
matlab各类数据图像之间的转化 rgb类型转化为二值的步骤例如以下: 1.採用命令im2double将rgb类型转化三维的double >> str='E:\programing\Ei ...
- DNG格式解析
Author:Maddock Date:2015.04.22 转载请注明出处:http://www.cnblogs.com/adong7639/p/4446828.html DNG格式基本概念 DNG ...
- 第一节,初识OpenCV3-图像的读、写、显、格式转化等
之前一直在看深度学习,突然用到了对图像处理的东西,所以过来补充一下OpenCV基础. 就顺便从网上了买了一本OpenCV 3计算机视觉这本书,这本书比较薄,但是目前已经够我用了,在这里就记录一下我的学 ...
随机推荐
- shiro@RequiresPermission的设置
public class MyShiroRealm extends AuthorizingRealm { //slf4j记录日志,可以不使用 private Logger logger = Logge ...
- 初学HTML5做的小知识点
新增的HTML5标签 语义化标签 :<header> 头标签 <nav> 导航标签 <section> 表示文档的结构.栏目 < ...
- Python之读取用户指令和格式化打印
Python之读取用户指令和格式化打印 一.读取用户指令 当你的程序要接收用户输入的指令时,可以用input函数: name = input("请输入你的名字:") print(& ...
- MySQL之Xtrabackup的使用
一.Xtrabackup介绍 XtraBackup(PXB) 工具是 Percona 公司用 perl 语言开发的一个用于 MySQL 数据库物理热备的备份工具,支持 MySQl(Oracle).Pe ...
- window下 局域网内使用mysql,mysql 开启远程访问权限
一.window 10 开启3306端口 1.按win键选择设置 2.搜索防火墙 3.选择高级设置 3.右键入站规则->新建规则 4.按照提示,规则类型选择端口,应用于tcp,特定本地端口输入3 ...
- ZOJ-3872-Beauty of Array-思维
ZOJ-3872-Beauty of Array 传送门:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3872 参考:ht ...
- PHPOffice 导入
1.因为Phpexecel已经停止维护,所以要使用心得phpoffice; 2.注意引入 use PhpOffice\PhpSpreadsheet\Helper\Sample; use PhpOffi ...
- Python 基础 3 - 元组
元组与列表区别 Python 元组与列表类似,不同之处在于列表可以修改,元组不可以修改 元组用小括号 () 定义,列表用方括号 [] 定义 元组不可修改,列表可修改 元组创建 只需要在小括号 () 内 ...
- linux安装python串口工具pyserial遇到不能成功导入的问题
常规方法:pip install pyserial导入serial后提示: 解决方法:apt install python3-serial 参考:https://stackoverflow.com/q ...
- 泛型接口、JAVA API、包装类
泛型接口就是拥有一个或多个类型参数的接口 语法: public interface 接口名<类型形参>{ 方法名(类型形参 类型形参实例); } 示例: public interface ...