EXIF vs ICC

(本文不提供名词解释。)
前几天打算去掉手头一批照片的exif信息(主要是去掉拍摄日期保护隐私)。然后想到:这样做会不会同时去掉照片的色彩空间/内嵌ICC信息?照片信息中对色彩空间的定义,是不是和exif信息放在一起的?
首先要找到能够识别图片的色彩空间和exif的软件。专业图片处理工具如Photoshop、GIMP,能够识别图片内嵌的色彩空间,但似乎需要另外的插件才能读exif。绝大多数看exif的常用小工具(如Exif Viewer)都不支持查看色彩空间。Windows下有个叫PhotoMe的免费软件,可以查看/修改图片的各种信息,用着还不错。
查了下Exif的标准,在EXIF Sub IFD里,确实有一个地址[A001]被定义为ColorSpace的,但我试过的所有exif软件里都看不到这个字段的内容(回头试试直接源文件寻址),而photoshop等软件嵌入色彩空间信息时,似乎也是存在了别的地方,和这个字段无关。所以貌似exif里是可以定义色彩空间的,但似乎没人这样用过。。。
其实照片的头信息中,有很多种不同的结构标准:Exif、IPTC、GPS、ICC、XMP….之间彼此独立,可以共存于照片文件中。照片的色彩空间信息是存在ICC的部分,和Exif无关。所以理论上移除exif信息,是不会影响图片的icc信息的。但事实上很多号称移除exif的软件,都是不分青红皂白,把文件的很多其它信息一起删除,慎用。推荐一下jhead,有选项可以控制只删除exif还是删除所有信息,多平台,命令行模式,支持批处理。

jhead -de -di -dx ×.jpg
移除所有jpg文件的Exif、IPTC、XMP信息,保留ICC色彩空间信息

另外发现有些软件(如GIMP)在把照片存贮为sRGB空间时,实际上并没有往照片的ICC信息中写入任何内容,而是直接存成了无色彩定义的文件(?待验证)。虽然这种无定义的文件在显示时基本都被默认当成sRGB了,但理论上用户可以把自己的默认显示定义为其它非sRGB空间,所以GIMP这样处理似乎不大好?
最后做一下试验。八张图
0.  1.
2.  3.
4.  5.
6.  7.
0. 源文件,包含exif信息,指定sRGB空间(Lightroom导出)
1. 在GIMP中,把0重新指定(Assign)为sRGB空间,但这时候另存为的文件其实是没有指定任何icc的
2. 在GIMP中,把0不做任何转换,直接指定为AdobeRGB空间(Assign Color Profile)
3. 在GIMP中,把0转换到AdobeRGB空间(Convert to Color Profile),注意2和3的区别!
4. 移除2的exif信息,保留icc
5. 移除3的exif信息,保留icc
6. 移除2的全部信息,pure jpg
7. 移除3的全部信息,pure jpg
童鞋们可以思考一下,这八张图都应该是什么效果(完全看不出区别的请自剐双目)
答案(用鼠标选中下列文字):
——————–
一共有三种效果:
A – 原图效果
B – sRGB被显示成AdobeRGB,造成的失真
C – AdobeRGB被显示成sRGB,造成的失真

在支持色彩空间的浏览器,如Firefox(需要改变默认配置#)、Safari上,效果为AABABAAC
在不支持色彩空间的浏览器,如IE、Chrome上,效果为AAACACAC

——————–
Update:发现2012年以后的 Chrome 好像增加了色彩管理功能,可以正常显示了。只是时不时还传出中间某些版本功能突然失灵的消息……
这个网站通过鼠标悬浮动态演示,几种效果间的对比更好看。

Comments

9 responses to “EXIF vs ICC”

  1. zyzyzhangyuan Avatar

    的确看不出区别啊

    1. fivestone Avatar

      成心挑场子的?

  2. Arzoo Avatar

    真的看不出来啊。。。我是不是应该自插双目啊?……深深叹气,第一眼感觉1和3是有些色彩差别的,其他的没什么差别了。。。我是chrome 6….

  3. 鸵鸟 Avatar
    鸵鸟

    大约或许可能也许要自割一目鸟。。。

  4. fivestone Avatar

    昏倒。。。看得很清楚啊。因为AdobeRGB的色域比sRGB要广,所以把sRGB的数据当作AdobeRGB显示(B)时,对比度和色彩鲜艳程度都要强一些,反之(C)就显得黯淡。小熊背后的墙、上方的红色圆盘、小熊的肚兜,都很明显的。。。

  5. spirit Avatar
    spirit

    我觉得2和4和其他张差别比较明显,但是到了6居然又回去了一点,还蛮神奇的。右边一列似乎是持续黯淡,于是到了7就也挺明显的

  6. wanttoknow Avatar
    wanttoknow

    …实验结果是 ABCACABB
    firefox 10.0 @ ubuntu 11.04
    截图(.png)后用 GIMP(v2.6.11) 取(23,132)位置的颜色, 分别是:
    R G B, R G B
    84 47 141, 73 77 138
    83 40 144, 85 46 141
    83 40 144, 85 46 141
    73 77 138, 76 78 135

    1. fivestone Avatar

      赞!终于有人来提这个问题了!
      这个以前也讨论过 http://blog.chenyang.net/?p=478
      没写在这篇帖子里,避免搞的更复杂了 😛
      你这种状况是因为系统设置了另外的色彩配置文件(通常是校准显示器后的自定义ICC),
      于是那些没有内嵌ICC的文件,被显示成你定义的ICC而不是sRGB,
      你的显示结果应该是:ADBABADE
      D – sRGB被显示成自定义ICC,造成的失真
      E – AdobeRGB被显示成自定义ICC,造成的失真

      1. wanttoknow Avatar
        wanttoknow

        囧, 发现我这还真奇葩了….测试了许多浏览器/操作系统/机型的组合. 除了这台廉价笔记本上的FF10@Ubuntu11.04这种组合, 其余组合都没有超出你说的那两种情况. 顺便一提, 发现 IE9 开始支持内嵌ICC的图片了.
        我没有刻意设置过 ICC, gamma 之类的东西…全部默认…
        似乎是指派的ICC没能被ff正确理解, 因为没有内嵌ICC的文件反而全都”正确(按sRGB)显示了.

Leave a Reply

Your email address will not be published. Required fields are marked *

Your post must include a link to this post.

How does this work?
Write a response on your own website and include a link to this post. Then submit your response’s URL here. Your response may appear here after moderation. To update or remove it, edit or delete your original post and submit the same URL again. Learn more about Webmentions.