我们在做图片处理站的时候,客户并不一定都会自己去转下jpg然后再上传,这时候呢,我们就可以使用ImageMagick这款强大的图像处理软件来对各种各样的图片进行处理,因为不同的相机,RAW文件的扩展名也不同,所以本篇就简单以佳能和索尼的RAW文件进行举例
CR2一般指佳能相机RAW格式文件拓展名。
ARW一般指索尼相机RAW格式文件扩展名。
下面我们就详细介绍一下ImageMagick在Centos下的使用方法:
1. 安装ImageMagick
yum -y install ImageMagick
2. 安装ufraw
ufraw这个工具不是很好安装,如果出现报错之类的是在正常不过的情况了,不过不要紧,方法总比困难多
以下安装方法可能会有多余的依赖包,我也没验证,哪些该安装,哪些可以不用安装,这里根据网上各个方法,亲自试验,目前暂时就按着下面的操作步骤就会成功 (注意:#号后面的是注释内容)
# 安装依赖库:
yum install lcms-devel jasper-devel exiv2 expat-devel libexif-devel
# Support for RAW files:
rpm -Uvh http://li.nux.ro/download/nux/dextop/el6/x86_64/nux-dextop-release-0-2.el6.nux.noarch.rpm
yum install libjpeg-turbo dcraw perl-Image-ExifTool
yum install ufraw
测试:
# sudo convert samples_files/sample.NEF -resize 100x100 samples_files/image.jpg
如果系统扩展都很完全的话,那么安装到这里之后,不报错,则表示已经成功,如果报错的话,也不用着急,好好检查一下报错信息,看看是不是缺依赖,我在安装的时候遇到了一个依赖的问题,现整理在下面:
报错信息里提示缺少:libcfitsio.so.0()(64bit)
碰到这种情况,可以试试下面的命令
sudo rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
再推荐几个和图片处理有关的工具,gtkimageview和exiv2 ,exiv2是提取EXIF和IPTC等图片信息的,另一个暂时还不知道是干啥的,不过我也安装啦。。。
安装完成之后,后面就很简单了,直接使用
convert xxx.cr2 xxx.jpg
就会转换,看到这个命令很多人会问,也没用到ufraw啊,实际上不是这样的,如果我们不安装ufraw的话,convert再处理这类图片的时候,就会提示缺少ufraw支持,进而转化失败。
同样的EPS, AI, ARW,TIFF都可以用convert直接转化
但是PSD是比较特殊的,如果我们直接使用
convert xxx.psd xxx.jpg
这时候就会生成以xxx命名,按数字排序的一堆jpg图片,因为会把psd每一个图层都转换成jpg
这当然不是我们想要的结果,因此我们需要加上一个参数
convert -layers flatten aaa.psd aaa.jpg
这样就可以将所有图层合并成一张图片然后转化成jpg
参考资料:
附录名词:
RAW的原意就是“未经加工”。可以理解为:RAW图像就是CMOS或者CCD图像感应器将捕捉到的光源信号转化为数字信号的原始数据。RAW文件是一种记录了数码相机传感器的原始信息,同时记录了由相机拍摄所产生的一些元数据(Metadata,如ISO的设置、快门速度、光圈值、白平衡等)的文件。RAW是未经处理、也未经压缩的格式,可以把RAW概念化为“原始图像编码数据”或更形象的称为“数字底片”。RAW格式的全称是RAW Image Format,在编程中称之为原始。
ImageMagick是一个免费的创建、编辑、合成图片的软件。它可以读取、转换、写入多种格式的图片。图片切割、颜色替换、各种效果的应用,图片的旋转、组合,文本,直线,多边形,椭圆,曲线,附加到图片伸展旋转。ImageMagick是免费软件:全部源码开放,可以自由使用,复制,修改,发布,它遵守GPL许可协议,可以运行于大多数的操作系统,ImageMagick的大多数功能的使用都来源于命令行工具。
UFRaw是一个原始图像处理工具。它用来处理数码相机中的原始格式图片,生成常见的图片格式。它既可独立使用,也可作为 GIMP 的插件。命令行模式允许你对图片进行批量处理。它还支持色彩管理,允许用户直接应用预设的色彩配置。
用这两个工具呢,我们就能很轻松的将一张相机的原始图片转换成我们网页展示的jpg格式了(PS:同样也能转成一些通用图片格式)
如有错误,多谢留言指正