首页 » PHP » 正文

Centos下ImageMagick处理CR2, ARW, EPS, PSD, TIFF,AI等其他RAW格式图片的使用方法

发表于: PHP,JS,Golang,Shopify学习交流博客 – 咪啪咪啪的小木屋 · 2016-9-19 ·  9,177 views  ·  0 replies 

我们在做图片处理站的时候,客户并不一定都会自己去转下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

参考资料:

  1. libcfitsio.so.0()(64bit)报错参考
  2. ufraw安装
  3. ufraw的EXE格式
  4. 关于imagemagick转换raw格式的问答
  5. ufraw安装参考
  6. gtkimageview源码下载
  7. ImageMagick命令参考
  8. ufraw-0.22.tar.gz源码包下载
  9. ImageMagick官网

附录名词:

RAW的原意就是“未经加工”。可以理解为:RAW图像就是CMOS或者CCD图像感应器将捕捉到的光源信号转化为数字信号的原始数据。RAW文件是一种记录了数码相机传感器的原始信息,同时记录了由相机拍摄所产生的一些元数据(Metadata,如ISO的设置、快门速度、光圈值、白平衡等)的文件。RAW是未经处理、也未经压缩的格式,可以把RAW概念化为“原始图像编码数据”或更形象的称为“数字底片”。RAW格式的全称是RAW Image Format,在编程中称之为原始。

ImageMagick是一个免费的创建、编辑、合成图片的软件。它可以读取、转换、写入多种格式的图片。图片切割、颜色替换、各种效果的应用,图片的旋转、组合,文本,直线,多边形,椭圆,曲线,附加到图片伸展旋转。ImageMagick是免费软件:全部源码开放,可以自由使用,复制,修改,发布,它遵守GPL许可协议,可以运行于大多数的操作系统,ImageMagick的大多数功能的使用都来源于命令行工具。
UFRaw是一个原始图像处理工具。它用来处理数码相机中的原始格式图片,生成常见的图片格式。它既可独立使用,也可作为 GIMP 的插件。命令行模式允许你对图片进行批量处理。它还支持色彩管理,允许用户直接应用预设的色彩配置。
用这两个工具呢,我们就能很轻松的将一张相机的原始图片转换成我们网页展示的jpg格式了(PS:同样也能转成一些通用图片格式)

如有错误,多谢留言指正

«上一篇: :下一篇»

0 thoughts on “Centos下ImageMagick处理CR2, ARW, EPS, PSD, TIFF,AI等其他RAW格式图片的使用方法”

  1. 还没有任何评论,你来说两句吧

Leave a reply