ICC色彩校正

当前要做一件事情,根据色彩板生成ICC文件,然后对图像进行色彩校正。什么是ICC文件呢?
ICC文件实际上是为了对色彩进行特征管理,而出的一个规范。该规范有一系列的固定格式,主要用于色彩管理。这里就涉及到色彩空间的概念,也就是一幅图像可以由不同的色彩空间表示。

色彩空间

所谓色彩空间,即一定的色彩范围,这是一种色彩模型。sRGB、AdobeRGB、ProPhotoRGB、CMYK等都是不同的色彩空间。它们都以可见光谱为基础,但分别包含不同的色彩范围。
在这里插入图片描述
具体可参考文章:什么是sRGB、AdobeRGB和CMYK色彩空间?

ICC文件格式

可以通过软件 ICC Profile Inspector 进行查看,在路径 C:\Windows\System32\spool\drivers\color 下有很多预设好的ICC文件,我这里打开一个AdobeRGB1998.cc 为例
在这里插入图片描述

左侧显示的是ICC文件的头部信息,其中Color Space为 RGB . 右侧为一些Tag 标签列表。具体的格式可以阅读 ICC特征文件格式和信息读取

利用ICC文件进行空间转换

我这里用.net 文件进行处理。图像库使用ImageMagic的.net 版本。 具体代码如下:

// 定义ICC文件
ImageProfile imageProfile = new ImageProfile("icc2", @"C:\Windows\System32\spool\drivers\color\Canon EOS 700D CCPP C1-111.icc");
            
 using (MagickImage image = new MagickImage(@"E:\SJDAID\色彩校正\色卡_CMYK.jpg"))
   {
       //var colorProfile = image.GetColorProfile();
       // 加载ICC色卡
       image.AddProfile(imageProfile);
       // 配置要转换的颜色空间
       image.AddProfile(ColorProfile.sRGB);
       // 保存色彩校正后的图片
       image.Write(@"E:\SJDAID\色彩校正\色卡dst.jpg");
   }

在这里插入图片描述 处理前后对比

参考:
[1] http://secai.h.baike.com/article-28780.html#3
[2] https://stackoverflow.com/questions/18914919/how-to-set-profile-using-magick-net-in-the-same-way-using-image-magick/18918798#18918798
[3] https://archive.codeplex.com/?p=magick
[4] https://www.docin.com/p-1349271474.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章