灰度图像彩色化

作者:wangtaohappy

转自:http://blog.csdn.net/wangtaohappy/article/details/17561097


http://blog.csdn.net/trent1985/article/details/9499385

最近一直在研究这个灰度图像彩色化算法,看了不少论文,做了不少实验,做个总结跟大家分享一下呵呵,希望能跟对于这个算法有兴趣高手们能共同讨论一下,也算是抛砖引玉吧!

目前灰度图像彩色化的算法主要有以下几种:

1,基于优化扩展的彩色化算法

2,基于最短距离和色度混合的彩色化算法

3,基于颜色转移的彩色化算法

相关参考文献举例如下:

1,Colorization>最近一直在研究这个灰度图像彩色化算法,看了不少论文,做了不少实验,做个总结跟大家分享一下呵呵,希望能跟对于这个算法有兴趣高手们能共同讨论一下,也算是抛砖引玉吧!

目前灰度图像彩色化的算法主要有以下几种:

1,基于优化扩展的彩色化算法

2,基于最短距离和色度混合的彩色化算法

3,基于颜色转移的彩色化算法

相关参考文献举例如下:

1,Colorization>

                                                                       Fig.1

    对于基于距离和色度混合的彩色化算法,这种算法最大的优点是速度快,属于快速算法,缺点是单纯考虑了距离的影响,忽略了颜色聚类的影响,也属于半自动算法,其主要思想是:用户设定颜色线条,然后根据某种距离公式计算每一个像素到颜色线条的距离,则距离最近的线条颜色即为该像素的颜色。

    效果图举例:


                                                Fig.2

    对于基于颜色转移的彩色化算法,这种算法最大的优点是:自动化,不需要人为干涉,只需要你提供一张与目标灰度图像内容相近的彩色图像,主要思想是:研究某种颜色匹配算法,将彩色图像中的颜色信息匹配到目标灰度图像中,从而完成灰度图的彩色化。这种算法的缺点是:1,在彩色图像中不一定可以找到灰度图中完美匹配的点,因此,对于这些点,效果较差;2,不能按照我们需要的颜色进行彩色化;

    效果图举例:


                                                                                                                         Fig.3

本文结合以上三种算法的优缺点,介绍本人认为的最简单的最适用的第二种算法:基于最短距离和颜色混合的灰度图像彩色化距离

这个算法过程如下:

1,寻找最短距离算法,图像中的距离算法有很多,比如:欧式距离,Dijkstra距离等,这里我们使用欧式距离,公式如下:


2,对于灰度图A,人为的设定颜色区域S[i],其中i表示颜色线条的个数,每一个颜色线条,我们使用集合S[i]表示,如图Fig.1中左边灰度图所示,有人为添加的许多颜色线条;

3,对于图像A,包含两个集合,一个是没有着色的像素点集合M,一个是被颜色线条覆盖的像素点集合N,对于N中的每个像素,实际上对应的颜色就是颜色线条的颜色,对于M中的每一个像素点,由于是灰度图像,因此,它只有灰度信息,也就是亮度信息Y(这里我们使用YCbCr颜色空间),我们需要做的就是确定这个像素对应的Cb,Cr色度值。

    首先,我们计算M中的每一个像素P(x,y)到每一个颜色线条S[i]的距离,记为D[i],那么,我们寻找D[i]的最小值,也就是到P距离最短的颜色线条,那么P的颜色就是具有最短距离D[i]的颜色i,这样就可以求出对应的Cb,Cr值了。

    其次,这样的算法有可能得到的图像边缘过度不自然,因此,采取了一种颜色混合的算法,我们把P点的颜色看作是不同颜色线条i距离D[i]的加权,公式如下:


其中d表示欧式距离,c表示色度Cb,Cr,chrominance表示相应的结果色度,W表示一种加权公式

对于W,公式如下:


其中,

b一般取4,范围为(0,6]

这样整个彩色化过程就完成了,放上我自己的效果图:




我的效果图是针对以上算法进行了改进之后得到的,有兴趣的图像处理爱好者们可以研究一下,期待跟大侠们交流!我的QQ1358009172,博客http://dongtingyueh.blog.163.com/


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值