彩色图像增强文档格式.docx
《彩色图像增强文档格式.docx》由会员分享,可在线阅读,更多相关《彩色图像增强文档格式.docx(18页珍藏版)》请在冰豆网上搜索。
我们也可以把彩色图像中的三个分量分开,分别计算加工再进行结合,这种处理技术称为基于单色的技术。
如果不把这三个分量分开计算,而是根据矢量规范将彩色信息当矢量空间中的彩色矢量来进行加工,这样的技术称为矢量值技术。
2.3彩色空间简介
2.3.1RGB彩色空间简介
一幅RGB图像就是彩色像素的一个
数组,其中每一个彩色像素点都是在特定空间位置的红、绿、蓝三个分量[2]。
由于彩色显示器采用红、绿和蓝来生成目标颜色,所以RGB颜色空间是计算机图形学最通常的选择。
但是,当处理图像时,使用RGB颜色空间并不是很有效。
此外,要在RGB颜色空间中生成任何一种颜色,三个RGB分量都需要占用相同的带宽。
这就使得每个RGB颜色分量需要同样的像素深度和现实分辨率。
2.3.2HSI彩色空间简介
HIS[3](hue,色度;
saturation,饱和度;
intensity,亮度)颜色空间将亮度分量与一幅彩色图像中携带的彩色信息分开。
因此,HIS模型对于开发基于彩色描述的图像处理算法是一个理想的工具,使得图像看起来更加自然和直观。
RGB彩色图像是有三幅单色的亮度图像构成的,所以一定可以从一幅RGB图像中提取出图像的亮度信息。
2.3.3RGB彩色空间到HIS彩色空间的转换
若给出一幅RGB图像,则每一个RGB像素的H、S、I分量分别可由下面的方程得出[2]:
(式2-1)
其中,
(式2-2)
(式2-3)
(式2-4)
2.3.4HSI彩色空间到RGB彩色空间的转换
对于HSI空间在[0,1]范围内S和I的值,对应的RGB模型中的在[0,1]范围内的R、G、B值可分段地按如下公式计算得出[3]。
当
时:
(式2-5)
(式2-6)
(式2-7)
(式2-8)
(式2-9)
(式2-10)
(式2-11)
(式2-12)
(式2-13)
2.4彩色图像增强处理方法
彩色图像的增强一般根据其处理对象的不同可以分为伪彩色增强、真彩色增强和假彩色增强三种。
本文主要讨论伪彩色增强和真彩色增强的实现方法。
2.4.1伪彩色增强
所谓伪彩色,就是假的颜色,即不是物体本身的颜色,所以这个颜色是人为加到物体上的,换句话说,就是伪彩色增强处理就是给灰度图像或单色图像增加色彩。
此外,根据人眼的生理特性及日常生活体验可知,人眼对灰度差异的识别区分能力很差,一般能够区分的灰度级只有20多个。
但是人眼识别和区分彩色的能力却很大,可以达到灰度分辨能力的百倍以上。
伪彩色就是利用人眼的这个特性,把人眼难以区分的灰度图像以一定的方式映射为彩色图像,以达到人眼对图像的分辨能力。
那么,如果按某种映射方式把灰度图像映射到彩色图像的色彩越丰富,人眼所能提取的信息也就越多,图像增强的效果也就越突出。
伪彩色增强主要有密度分割法、彩色变换法和频率滤波法的伪彩色增强三种方法[4]。
(1)密度分割法
密度分割法是伪彩色图像增强中最简单、最基本的方法。
该算法基本思想是将灰度图像中的任意一点的灰度值看作该点的密度函数,把密度函数分割成几个相互独立的区间,给每个区间分配一种颜色。
接下来具体阐述密度分割法的实现原理。
设一幅灰度图像
可以看成是坐标
的一个密度函数。
把图像的灰度分为若干个等级。
设原黑白图像的灰度范围为
,用
灰度级把该灰度范围分为
段:
给每一段灰度映射一种颜色,映射关系为:
(式2-14)
这里
为输出的伪彩色像;
为灰度在
范围内映射的色彩。
需要说明的是,这
段可以是均匀的,也可以是不均匀的,是可以根据图像的灰度范围以及实际需求,设定每段的长度,以达到细节显示。
经过这种映射处理后,原始黑白图像就成了伪彩色图像。
如下图所示:
图2-1密度分割原理平面图
从上图我们可以看出,密度分割法只是简单地把分割的灰度区域与个彩色进行映射,所以得到的伪彩色图像的颜色受到分割层数的限制。
但是,密度分割法可以根据实际情况,随时改变映射关系,以适合人眼的识别能力。
(2)灰度级-彩色变换法
彩色变换法的基本思想是对图像中每个像素点的灰度值
采用不同的变换函数,并将结果映射为彩色图像的R、G、B分量值,这样就可以得到一幅RGB空间上的彩色图像。
下图给出了变换的过程示意图:
图2-2灰度级-彩色变换法示意图
典型的变换函数如下图所示:
图2-3典型变换函数示意图
由图2-3可计算出红、绿、蓝的变换函数为:
(式2-15)
(3)频域伪彩色处理
在频域伪彩色图像处理中,伪彩色图像的彩色取决于黑白图像的空间频率,也就是说频域伪彩色图像处理是将原始灰度图像中感兴趣的空间频率成分以某种特定的彩色表示。
首先对原始图像进行傅里叶变换,再设计三种不同的滤波器,对原始图像进行滤波,再对三个滤波器的输出进行傅里叶反变换,最后输出频域处理后的伪彩色图像。
本次设计的三个滤波器分别为:
(式2-16)
(式2-17)
(式2-18)
2.4.2真彩色增强
真彩色是指图像中的每个像素值都分成R、G、B三个基色分量,每个基色分量直接决定其基色的强度。
在真彩色增强中,选择合适的彩色空间非常重要。
RGB彩色空间适合显示彩色图像,所以在屏幕上显示彩色图像时要选择RGB彩色空间,但在处理过程中,适合选择HIS彩色空间。
因为在HIS彩色空间中,亮度分量与色度分量是分开的,而且色调和饱和度与人的感知是密切相关的,所以在处理过程中最好选择HIS空间[1]。
真彩色增强的方法的基本步骤如图2-4所示:
图2-4真彩色图像增强法流程图
该方法并不改变原图的彩色内容,但增强后的图像看起来会有些不同。
这是因为尽管色调和饱和度没有变化,但是亮度分量得到了增加,使得整个图像会比原来更亮一些。
需要指出的是,尽管对R、G、B各分量直接使用对灰度图的增强方法可以增强图中的细节亮度,但得到的增强图中的色调有可能完全没有意义,这是因为对增强图中对应同一个像素的R、G、B都发生了变化,它们的相对数值与原来不同,从而导致原图颜色的较大变化。
3、实验结果及比较
3.1伪彩色图像增强法结果及分析
(1)密度分割法
图3-1密度分割法伪彩色增强仿真结果图
本实验主要是灰度值在70左右的细节,表现在图像中,就是主要分辨出花的茎叶的明暗分布。
从实验结果中可以看出,在叶子背光面、结缔处等细节,都相对于原始图像有很好的显示。
如果想得到很多的细节,可以进一步细分图像的灰度级。
但是颜色明显比较僵硬,而且不丰富。
色彩的丰富度主要取决于算法中分的段数k,k越大,色彩越丰富。
而k越大,相应编写的程序也就越长。
图3-2灰度级-彩色变换法仿真结果图
本实验中,可以看到色彩分布较丰富,色彩的过渡也比较柔和,大部分的叶子背光面细节及花瓣的细节可以很好地显现。
(3)频域伪彩色增强法
图3-3频域伪彩色增强法仿真结果图
观察图3-3可以看出,频域伪彩色增强显示了很多细节,比如结缔处、叶子的背光面及画的轮廓,都能很好的显示其变化的细节,但是花瓣的细节却显示的不是很好,主要是由于花瓣间的颜色变化非常小,所以无法显示。
该法根据不同的需求可以设计不同的滤波器,所以运用其他的滤波器又可以得到不同的效果,这使得滤波器的设计尤为重要。
3.2真彩色图像增强法结果及分析
(1)下面左图为I分量均衡化后的HIS图,右图设置亮度为imadjust(I,[],[],gamma)函数中的gamma参数为1的仿真结果图,如图3-4所示:
图3-4gamma=1的仿真图
(2)下面左图为I分量均衡化后的HIS图,右图设置亮度为imadjust(I,[],[],gamma)函数中的gamma参数为0.6的仿真结果图:
图3-5gamma=0.6的仿真结果图
(3)下面左图为I分量均衡化后的HIS图,右图设置亮度为imadjust(I,[],[],gamma)函数中的gamma参数为1.5的仿真图:
图3-6gamma=1.5的仿真图
改变gamma的值可以改变输出图像的亮度,gamma的值越大,图像对比度越高,反之,对比度越低。
当gamma的值为1时,不改变原输出图像对比度。
3.3比较与结论
通过以上仿真实验可以看出,对于伪彩色图像来说,密度分割法是一种最简单、最直观的方法,便于人为控制实现所需要的色彩信息。
如果分层越多,人眼所能获取的信息也就越多,图像增强的效果也就越好,但同时也存在变换出的彩色数目有限的缺点。
如果掌握好色彩值,则图像色彩的过渡也会很自然,否则,图像的色彩过渡不连续,显得颜色变化剧烈。
灰度级-彩色变换法可得到多种颜色渐变的连续彩色图像,在细节观察要求不是很高的情况下,可选择该法把灰度图像映射到彩色空间,观察到更多的细节,但是要想观察到更多的细节信息,灰度级-彩色变换法还不是最合适的选择。
频域彩色增强对滤波器的要求显得尤为重要,如果设计的滤波器不合适,则无法显示更多的细节。
当然,灰度级非常小,即频域变化非常小也是影响仿真结果的因素之一。
真彩色增强对图像的亮度进行调整,以突出细节显示的效果,让人眼更易观察到这种细节。
真彩色增强主要用于图像彩色分布单一,明暗变化不明显的彩色图像,可以增大图像对比度,使图像中亮度亮的部分更亮,亮度暗的部分更暗,以此来突出显示细节。
综合以上分析,密度分层法相对来说比较灵活一些,主要缺点就是色彩不丰富,即人眼获取的信息不多,且色彩变化不连续。
对于细节要求不是很高的场合,适合采用灰度级-彩色变换法。
综合看比较好的应该是频域伪彩色增强法。
对于真彩色增强法,目前是基于亮度的调整,还有一些类似于灰度图像增强的方法,如直方图均衡和滤波法等。
各个方法都有其优缺点,根据不同的场合使用不同的彩色增强方法。
4、总结与展望
4.1总结
本文主要介绍了彩色图像增强的理论知识及结合理论知识运用MATLAB实现彩色图像增强。
介绍了伪彩色图像增强和真彩色图像增强两种处理不同对象的彩色增强方法,其中伪彩色图像增强主要有密度分割法、灰度级-彩色变换法和频域彩色变换法三种方法,真彩色图像增强法是在空间频率对图像进行了增强。
4.2展望
随着计算机处理速度的能力不断提高,数字图像处理在科学技术中的不断渗透,其应用越来越广泛,使得数字图像处理的地位逐步提升,人们对图像的要求也越来越高。
目前,数字图像处理技术已经渗透到航空航天、军事、医疗、电子设备、工业和多媒体娱乐业等领域。
例如,伪彩色增强应用在医学影像、遥感影像等方面。
真彩色增强应用在多媒体彩色图像处理方面、彩色医疗影像等。
随着彩色图像不断深入到生产生活中,彩色图像增强技术一定有非常好的前景,不再是基于灰度图像的增强,而是直接基于彩色图像的增强技术。
一定有一种算法解决目前色彩过渡不连续、无法显示全部细节和色彩不丰富三大问题。
参考文献
[1]李俊山,李旭辉.数字图像处理[M],北京:
清华大学出版社,2007:
:
225~248
[2]RafaelC.Gonzalez,RichardE.Woods.数字图像处理[M].阮秋琦,阮宇智译(MATLAB版).北京:
电子工业出版社,2012:
144~178
[3]景晓军,周贤伟,付娅丽.图像处理技术及其应用[M],北京:
国防工业出版社,2005:
117~119
[4]李朝晖,张弘.数字图像处理及应用[M],北京:
机械工业出版社,2004:
85~88
附录
1、%伪彩色增强--密度分割法
f=imread('
C:
\DocumentsandSettings\Administrator\桌面\flower2.jpg'
);
I=rgb2gray(f);
subplot(1,2,1);
imshow(I);
title('
原始图像'
x=size(I);
J=zeros(1024,1024,3);
I=double(I);
m=256;
n=16;
fori=1:
1024
forj=1:
if0<
=I(i,j)&
&
I(i,j)<
=15
R(i,j)=1;
G(i,j)=8;
B(i,j)=255;
elseif16<
=50
R(i,j)=2;
G(i,j)=48;
B(i,j)=254;
elseif51<
=70
R(i,j)=4;
G(i,j)=112;
B(i,j)=252;
elseif71<
=80
R(i,j)=8;
G(i,j)=160;
B(i,j)=248;
elseif81<
=m/(n-2)-1
R(i,j)=255;
B(i,j)=1;
elseifm/(n-2)<
=m/(n-5)-1
R(i,j)=16;
G(i,j)=192;
B(i,j)=240;
elseifm/(n-5)<
=m/(n-6)-1
R(i,j)=32;
G(i,j)=224;
B(i,j)=224;
elseifm/(n-6)<
=m/(n-7)-1
R(i,j)=64;
G(i,j)=248;
B(i,j)=192;
elseifm/(n-7)<
=m/(n-8)-1
R(i,j)=128;
G(i,j)=255;
B(i,j)=160;
elseifm/(n-8)<
=m/(n-9)-1
elseifm/(n-9)<
=m/(n-10)-1
R(i,j)=192;
B(i,j)=64;
elseifm/(n-10)<
=m/(n-11)-1
R(i,j)=224;
B(i,j)=32;
elseifm/(n-11)<
=m/(n-12)-1
R(i,j)=240;
B(i,j)=16;
elseifm/(n-12)<
=m/(n-13)-1
R(i,j)=248;
B(i,j)=8;
elseifm/(n-13)<
=m/(n-14)-1
R(i,j)=250;
B(i,j)=4;
elseifm/(n-14)<
=m/(n-15)-1
R(i,j)=252;
B(i,j)=2;
end
end
J(:
:
1)=R;
2)=G;
3)=B;
subplot(1,2,2);
imshow(uint8(J));
变换后的图像'
2、%伪彩色增强--彩色变换
I=imread('
I=rgb2gray(I);
[M,N]=size(I);
L=256;
M
N
ifI(i,j)<
=L/4
R(i,j)=0;
G(i,j)=4*I(i,j);
B(i,j)=L;
elseifI(i,j)<
=L/2
G(i,j)=L;
B(i,j)=-4*I(i,j)+L*2;
=3*L/4
R(i,j)=4*I(i,j)-L*2;
B(i,j)=0;
else
R(i,j)=L;
G(i,j)=-4*I(i,j)+4*L;
end
%end
彩色变换后图像'
3、%伪彩色增强-频域伪彩色增强法
[M,N]=size(I)
F=fft2(I);
fftshift(F);
foru=1:
forv=1:
D(u,v)=sqrt(u^2+v^2);
redh(u,v)=1/(sqrt
(2)*(D(u,v)/100)^2);
greenh(u,v)=1/(sqrt
(2)*(200/D(u,v))^2);
blued(u,v)=sqrt((u-10)^2+(v-10)^2);
blueh(u,v)=1-1/(1+blued(u,v)*100/((blued(u,v))^2-150^2)^2);
red=redh.*F;
redcolor=ifft2(red);
green=greenh.*F;
greencolor=ifft2(green);
blue=blueh.*F;
bluecolor=ifft2(blue);
redcolor=real(redcolor)/256;
greencolor=real(greencolor)/256;
bluecolor=real(bluecolor)/256;
forj=1:
out(i,j,1)=redcolor(i,j);
out(i,j,2)=greencolor(i,j);
out(i,j,3)=bluecolor(i,j);
out=abs(out);
figure;
imshow(out);
4、%realcolorenhancement
I=im2double(f);
fr=I(:
1);
fg=I(:
2);
fb=I(:
3);
fi=(fr+fg+fb)/3;
fs=1-3.*min(min(fr,fg),fb)./(fr+fg+fb);
fh=acos(((fr-fg)+(fr-fb))./2./((fr-fg).^2+(fr-fb)*(