Color Transfer between Images
刊于 IEEE Computer Graphics and Applications
这就是之前一篇乳腺癌分割的文章引用的染色归一化的文章。
作者 :
Erik Reinhard, Michael Ashikhmin, Bruce Gooch, and Peter Shirley
University of Utah
目标:
色彩迁移:根据目标图片调整图片的颜色特征。
出发点:
1、RGB三通道有很强的关联性,而做颜色的改变同时恰当地改变三通道比较困难。
2、需要寻找三通道互不相关的也就是正交的颜色空间,作者想到了Ruderman等人提出的lαβ颜色空间。三个轴向正交意味着改变任何一个通道都不影响其他通道,从而能够较好的保持原图的自然效果。三个通道分别代表:亮度,黄蓝通道,红绿通道。
颜色迁移算法步骤:
![](/qrcode.jpg)
RGB->LMS->对数LMS->lαβ->对数LMS->LMS->RGB,在lαβ上进行适当的变换。
RGB->LMS分为两步:RGB->XYZ->LMS
合并成一步则为:
转成对数LMS:
再转成lαβ:
转回去的方法如下:
先转成LMS:
相对于原来的求对数,现在求指数(以10为底)。
而后转成RGB:
算法核心(lαβ上的图片变换):
要操作的图片称作源图片(source),想要转成的颜色风格成为目标图片(target)。
分通道计算源图片的均值和标准差,分通道计算目标图片的均值和标准差。
源图片逐像素减均值(减去对应通道的均值):
乘目标图片与源图片标准差的比值:
最后不要加原来的均值,而是加上目标图片的均值。
整个过程可以简单描述为:分通道计算,减去自己的均值,除以自己的方差,乘目标的方差,加目标的均值。
效果:
将近20年前的文章,颜色空间变换稍微麻烦一点(也不是作者提出的),作者提出的方法很简单,效果还是蛮惊艳的。
注意,不要使用opencv直接转LAB。C++代码可参考:https://blog.csdn.net/sin_geek/article/details/22325229