欢迎来到天天文库
浏览记录
ID:15913629
大小:3.08 MB
页数:13页
时间:2018-08-06
《基于welsh算法的灰度图像彩色化的研究》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、基于Welsh算法的灰度图像彩色化的研究杨亚南王磊孙田雨(燕山大学理学院信息与计算科学专业河北秦皇岛)摘要Welsh算法在将灰度图像彩色化的过程中取得了较好的效果,是却存在着像素匹配过程中循环过多、速度过慢、彩色化后的图像存在噪声的问题。分析Welsh算法的不足之处,采取在彩色图像中间隔取点的办法,减少循环次数。同时针对彩色化后的图像中存在噪声的问题,使用指导性滤波对迁移后的图像进行优化,去掉噪声的干扰。通过实验表明,经过指导性滤波处理的图像可以产生出更好的效果,使图像的效果更清晰和自然。关键词Welsh算法彩色化间隔取点指导性滤波0引言灰度图像的彩色化是将一幅彩色图像的颜色特征传递给
2、一幅灰度图像,从而使灰度目标图像具有与源彩色图像相似的颜色。Ruderman等[1]在1998年提出了ιαβ颜色空间。其中ι表示非彩色的亮度通道,α表示彩色的黄蓝(yellow-blueoppo-nent)通道,β表示红绿(red-greenopponent)通道。与其他颜色体系不同,ιαβ空间更适合人类视觉感知系统。对自然场景,通道间的相关性会降到最小,解决了传统RGB颜色空间中R(红)、G(绿)、B(蓝)三个颜色通道相关性太强[2,3],在不同通道进行运算时容易出现通道交叉的问题。ιαβ颜色空间更适合对颜色信息进行迁移。在2001年,Reinhard[4]在ιαβ颜色空间的基础上,
3、提出了彩色和彩色图像之间的迁移算法,取得了较好的效果,但是该算法不适合灰度图像之间的迁移。Reinhard的算法在灰度图像彩色化的过程中会使结果图颜色失真,造成不真实的感觉。在2002年的时候,Welsh[5]等人提出了将灰度图像彩色化的算法,取得了较好的效果。1Welsh算法目前在灰度图像彩色化的过程中主要采用的是Welsh算法,Welsh算法的具体过程如下:(a)将彩色参考图像和目标灰度图像都变换到抗相关性的ιαβ空间;(b)对彩色参考图像进行亮度的重映射。因为为了将彩色参考图像的色彩传输给目标图像,目标图像的每个像素必须在彩色参考图像中找一个像素来匹配,考虑到彩色参考图像和目标图
4、像亮度的整体差异,必须对彩色参考图像进行亮度的重映射,使它的直方图与目标灰度图像的亮度直方图相匹配;(c)计算彩色参考图像的每一个点的亮度值和5×5领域内的方差值;(d)对于灰度图像的每个像素,计算该像素PTi的亮度值▽L和5×5领域内的方差值▽D,并与彩色参考图像的特征点相比较,找到与PT的0.5×▽L+0.5×▽D最相近的一点(假设为PSj),则PSj就是与灰度图像的当前点PTi匹配的点;(e)将彩色参考图像PSj的αβ值传输给目标灰度图像的PTi点,同时保留PTi点ι通道的亮度值;(f)逐点扫描目标灰度图像,对每个像素都采用(d)、(e)步骤,找到与其匹配的彩色图像中的点,并传输
5、颜色。2对Welsh算法的改进由于Welsh算法的主要问题就是在彩色图像中搜索与灰度图像最匹配的αβ空间的像素值。例如彩色图像的大小是100×100,灰度图像的大小是100×100,那么找到与这张灰度图像最匹配的αβ空间的值需要循环108。目前的改进主要是提高Welsh算法的搜索速度,主要是以下两个方面。第一:在文献[8]中,将图像像素邻域相关特性引入到匹配像素的搜索过程中。搜索匹配像素时,先在当前像素的邻域范围内进行搜索,只在邻域搜索失效时才进行全图范围的搜索,由于像素邻域相关特性,大部分像素可以在邻域搜索中找到匹配像素,只有极少像素需要进行全图搜索,从而较大地降低了搜索代价。但是由
6、于图像是连续的,对于一张图像的边缘处,这样的方法并不合适。第二:在文献[9]中,在彩色图像中随机抽取200个像素点,对于灰度图像中的每一个像素点都在这200个随机抽取的像素点中寻找最匹配的像素值。这样虽然可以大幅度提高搜索的速度,但是由于是随机取点,造成了彩色图像的像素值不一定与灰度图像最适合,造成了颜色迁移的失真。同时对于一副很大的图片,只抽取200个点并不能保证涵盖所有的彩色像素的值。本文是在彩色图像的每行每列中,每隔十个像素点抽取一个,这样能最大限度的保证抽取出来的彩色图像的点能够包含整个图像,最大限度地减少了迁移过程中的颜色的失真,特别是对边界处有很好的效果,同时减少了匹配过程
7、中的循环次数。例如上面提到的彩色图像的大小是100×100,灰度图像的大小是100×100,通过相隔10个像素点取值的搜索策略,完成整个循环匹配只需要106,使得运行速度比Welsh的循环次数减少了100倍。程序代码:gray2rgb.m文件%%RGB转换为Lab空间并进行彩色迁移clc;clear;A=imread('207.jpg');%取样图[mnl]=size(A);[L,a,b]=RGB2Lab(A);%空间转换AA(:,:,1)=L
此文档下载收益归作者所有