MATLAB小技巧(13)Reinhard颜色迁移
前言
MATLAB进行图像处理相关的学习是非常友好的,可以从零开始,对基础的图像处理都已经有了封装好的许多可直接调用的函数,这个系列文章的话主要就是介绍一些大家在MATLAB中常用一些概念函数进行例程演示!
颜色迁移是图像处理中很有意思的一个应用,可以将一幅图的颜色分布转移到另外一幅图上,使另外一张图也拥有类似的颜色,也可以用来灰度图像上色,在计算机动画、影视编辑和图像风格化渲染中有重要应用。
用生活中的应用举例,假如我们有一张颜色中规中矩的图片,这时有另一张配色好看的图片,希望将这张图的配色用在那张很普通的图片上,就可以用颜色迁移的方法,虽然两张图的结构不同,内容不同,但是依然可以迁移相应的颜色,效果类似于我们修图是常用的滤镜。
一. Reinhard理论
Reinhard提出的颜色迁移方法是在Lab颜色空间上进行的,基于参考图像标准方差的线性变换。常用的RGB彩色空间中,R、G、B三通道有很大的相关性,若某一通道大,则像素的其他通道值也较大,这样如果要用连续的方法改变某一个像素的颜色,必须一前一后修改所有颜色通道,因此不能通过单独改变某通道像素值来改变色彩。而Lab颜色空间的坐标轴间几乎没有相关性,可以在不同的色彩通道中应用不同的