搜档网
当前位置:搜档网 › 彩色图像增强

彩色图像增强

彩色图像增强
彩色图像增强

彩色图像增强

孙亚容

(上海理工大学光电信息与计算机工程学院,上海200093)

摘要:图像增强就是对图像中某些特征进行强调,使之更合适人眼观察或机器处理。彩色图像中含有较大的信息量,而且人眼对色彩的识别和区分能力可以达到灰度辨别能力的百倍以上,所以彩色图像的增强对从图像中获得更多的信息有着非常重要的作用。

本文主要对彩色图像增强方法进行了论述及仿真。对灰度图像进行伪彩色增强,使之映射到彩色图像,有利于人眼观察到灰度图像中不易辨别的细节。对彩色图像进行真彩色增强,可通过调整彩色图像中的亮度分量实现,提高彩色图像对比度来辨别彩色图像中不易辨别的细节。

关键字:彩色图像增强,伪彩色增强,真彩色增强

Abstract

Image enhancement is highlighting some specific information of an image to be available for human observation or machine processing. Color image contains more information than grayscale image, and the ability of human observation identify and distinguish colors can reach hundreds of times, compared to the grayscale. So color image enhancement plays a very important role in obtaining more information from an image.

This paper mainly states the methods of color image enhancement and simulates with them. The grayscale image adopts the pseudo color enhancement technology, which reflects the grayscale image into color image. By such enhancement, the detailed information can be easily noticed at the grayscale image. When color image is processed by the method of real color enhancement, the detailed information can be easier to observe at the image by adjusting luminance component of the color image to enhance contrast.

Keywords: color image enhancement, pseudo color enhancement, real color enhancement

1、引言

生活中,人们经常用图像来表示信息。因此,图像信息的准确传递,并适合人眼准确接收都是非常重要的。如果图像信息没有准确传递信息或者图像传递的

信息不适合人眼接收,就应该对图像进行处理,使之可以适合人眼接收,准确传递信息。

彩色图像与灰度图像含有较大的信息量,无论是对人们的视觉感受,还是后续的图像理解,彩色图像都具有灰度图像无可比拟的优越性。因此,彩色图像处理也越来越受到人们的重视。

在得到的彩色图像中,有时会存在对比度低、颜色偏暗以及局部细节不明显等问题,为了改善图像的视觉效果、突出图像的特征,利于进一步的处理,需要对图像进行增强处理。

本文主要的研究内容为:(1)伪彩色增强方法;(2)真彩色增强方法。

2、彩色图像及其增强方法

2.1 图像增强

图像增强就是通过对图像的某些特征,如对比度、轮廓等进行强调,使之更适合于人眼的观察或机器处理的一种技术。

图像增强技术分为两大类,一类是空间域方法,即在图像平面对图像的像素灰度值进行运算处理的方法;另一类是频率域方法,是指在图像的频率域中对图像进行某种处理[1]。

2.2 彩色图像与灰度图像区别

彩色图像和灰度图像的根本区别是:在彩色图像中,每个像素用一个矢量(一般包括三个分量)来表示,即R分量、G分量和B分量。而灰度图像每一个像素只用一个标量来表示。这样,处理彩色图像时处理的是矢量,处理灰度图像处理的是标量。我们也可以把彩色图像中的三个分量分开,分别计算加工再进行结合,这种处理技术称为基于单色的技术。如果不把这三个分量分开计算,而是根据矢量规范将彩色信息当矢量空间中的彩色矢量来进行加工,这样的技术称为矢量值技术。

2.3 彩色空间简介

2.3.1 RGB 彩色空间简介

一幅RGB 图像就是彩色像素的一个3M N ??数组,其中每一个彩色像素点都是在特定空间位置的红、绿、蓝三个分量[2]。由于彩色显示器采用红、绿和蓝来生成目标颜色,所以RGB 颜色空间是计算机图形学最通常的选择。但是,当处理图像时,使用RGB 颜色空间并不是很有效。此外,要在RGB 颜色空间中生成任何一种颜色,三个RGB 分量都需要占用相同的带宽。这就使得每个RGB 颜色分量需要同样的像素深度和现实分辨率。

2.3.2 HSI 彩色空间简介

HIS [3] (hue ,色度;saturation ,饱和度;intensity ,亮度)颜色空间将亮度分量与一幅彩色图像中携带的彩色信息分开。因此,HIS 模型对于开发基于彩色描述的图像处理算法是一个理想的工具,使得图像看起来更加自然和直观。

RGB 彩色图像是有三幅单色的亮度图像构成的,所以一定可以从一幅RGB 图像中提取出图像的亮度信息。

2.3.3 RGB 彩色空间到HIS 彩色空间的转换

若给出一幅RGB 图像,则每一个RGB 像素的H 、S 、I 分量分别可由下面的方程得出[2]:

360B G H B G

θθ

≤??

->?若若 (式2-1)

其中,

1[()()]2arccos R G R B θ??

-+-??

=??

????2

12[(R-G)+(R-B)(G-B)] (式2-2) 3

1[min(,,)]()

S R G B R G B =-

++ (式2-3)

1

()3

I R G B =++ (式2-4)

2.3.4 HSI 彩色空间到RGB 彩色空间的转换

对于HSI 空间在[0,1]范围内S 和I 的值,对应的RGB 模型中的在[0,1]范围内的R 、G 、B 值可分段地按如下公式计算得出[3]。

当0120H ≤< 时:

(1)B I S =- (式2-5) cos 1cos(60)S H R I H ??=+??-??

(式2-6) 3()G I B R =-+ (式2-7)

当120240H ≤< 时:

(1)R I S =- (式2-8) cos(120)1cos(180)S H G I H ??

-=+??-??

(式2-9) 3()B I G R =-+

(式2-10)

当240120H ≤< 时:

(1)G I S =-

(式2-11)

cos(240)1cos(300)S H B I H ??-=+??-??

(式2-12)

3()R I G B =-+

(式2-13)

2.4 彩色图像增强处理方法

彩色图像的增强一般根据其处理对象的不同可以分为伪彩色增强、真彩色增强和假彩色增强三种。本文主要讨论伪彩色增强和真彩色增强的实现方法。

2.4.1 伪彩色增强

所谓伪彩色,就是假的颜色,即不是物体本身的颜色,所以这个颜色是人为加到物体上的,换句话说,就是伪彩色增强处理就是给灰度图像或单色图像增加色彩。此外,根据人眼的生理特性及日常生活体验可知,人眼对灰度差异的识别区分能力很差,一般能够区分的灰度级只有20多个。但是人眼识别和区分彩色的能力却很大,可以达到灰度分辨能力的百倍以上。伪彩色就是利用人眼的这个特性,把人眼难以区分的灰度图像以一定的方式映射为彩色图像,以达到人眼对图像的分辨能力。那么,如果按某种映射方式把灰度图像映射到彩色图像的色彩越丰富,人眼所能提取的信息也就越多,图像增强的效果也就越突出。 伪彩色增强主要有密度分割法、彩色变换法和频率滤波法的伪彩色增强三种方法[4]。

(1) 密度分割法

密度分割法是伪彩色图像增强中最简单、最基本的方法。该算法基本思想是将灰度图像中的任意一点的灰度值看作该点的密度函数,把密度函数分割成几个相互独立的区间,给每个区间分配一种颜色。接下来具体阐述密度分割法的实现原理。

设一幅灰度图像(,)f x y ,可以看成是坐标(,)x y 的一个密度函数。把图像的灰度分为若干个等级。

设原黑白图像的灰度范围为0(,)f x y L ≤≤,用1k +灰度级把该灰度范围分为k 段:01,,,k l l l ???

给每一段灰度映射一种颜色,映射关系为:

(,)i g x y C = (式2-14)

这里(,)g x y 为输出的伪彩色像;i C 为灰度在i l 范围内映射的色彩。需要说明的是,这k 段可以是均匀的,也可以是不均匀的,是可以根据图像的灰度范围以及实际需求,设定每段的长度,以达到细节显示。经过这种映射处理后,原始黑白图像就成了伪彩色图像。如下图所示:

0l 1l 2l 1k l -k l 灰度f

C 彩色

2k l -C k C k

C

图2-1 密度分割原理平面图

从上图我们可以看出,密度分割法只是简单地把分割的灰度区域与个彩色进行映射,所以得到的伪彩色图像的颜色受到分割层数的限制。但是,密度分割法可以根据实际情况,随时改变映射关系,以适合人眼的识别能力。 (2)灰度级-彩色变换法

彩色变换法的基本思想是对图像中每个像素点的灰度值(,)f x y 采用不同的变换函数,并将结果映射为彩色图像的R 、G 、B 分量值,这样就可以得到一幅

RGB 空间上的彩色图像。

下图给出了变换的过程示意图:

图2-2 灰度级-彩色变换法示意图

典型的变换函数如下图所示:

L

L

L

L

绿蓝(a)红色

(b)绿色

(c)蓝色

(d)红、绿、蓝三色关系

图2-3 典型变换函数示意图

由图2-3可计算出红、绿、蓝的变换函数为:

0(,)4(,)0;(,)4*(,);(,)4(,)2(,)0;(,);(,)4*(,)2*2(,)34(,)4*(,)2*;(,);(,)034(,)(,);(,)4*(,)4*;(,)0

f x y L R x y G x y f x y B x y L

L f x y L R x y G x y L B x y f x y L L f x y L R x y f x y L G x y L

B x y L f x y L R x y L G x y f x y L B x y ≤≤

===≤≤

===-+≤≤=-==≤≤==-+=时

时时时

(式2-15)

(3)频域伪彩色处理

在频域伪彩色图像处理中,伪彩色图像的彩色取决于黑白图像的空间频率,也就是说频域伪彩色图像处理是将原始灰度图像中感兴趣的空间频率成分以某种特定的彩色表示。

首先对原始图像进行傅里叶变换,再设计三种不同的滤波器,对原始图像进行滤波,再对三个滤波器的输出进行傅里叶反变换,最后输出频域处理后的伪彩色图像。本次设计的三个滤波器分别为:

1f =

(式2-16)

2

12f =

(式2-17)

2

1

31(1f =-

(式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越大,相应编写的程序也就越长。

(2)灰度级-彩色变换法

原始图像彩色变换后图像

图3-2 灰度级-彩色变换法仿真结果图

本实验中,可以看到色彩分布较丰富,色彩的过渡也比较柔和,大部分的叶子背光面细节及花瓣的细节可以很好地显现。

(3)频域伪彩色增强法

原始图像频域伪彩色增强后的图像

图3-3 频域伪彩色增强法仿真结果图

观察图3-3可以看出,频域伪彩色增强显示了很多细节,比如结缔处、叶子的背光面及画的轮廓,都能很好的显示其变化的细节,但是花瓣的细节却显示的不是很好,主要是由于花瓣间的颜色变化非常小,所以无法显示。该法根据不同的需求可以设计不同的滤波器,所以运用其他的滤波器又可以得到不同的效果,这使得滤波器的设计尤为重要。

3.2 真彩色图像增强法结果及分析

(1)下面左图为I分量均衡化后的HIS图,右图设置亮度为imadjust(I,[],[],gamma)函数中的gamma参数为1的仿真结果图,如图3-4所示:

I分量均衡化的HSI图HSI变换到RGB

图3-4 gamma =1的仿真图

(2)下面左图为I分量均衡化后的HIS图,右图设置亮度为

imadjust(I,[],[],gamma)函数中的gamma参数为0.6的仿真结果图:

I分量均衡化的HSI图HSI变换到RGB

图3-5 gamma=0.6的仿真结果图

(3)下面左图为I分量均衡化后的HIS图,右图设置亮度为

imadjust(I,[],[],gamma)函数中的gamma参数为1.5的仿真图:

I分量均衡化的HSI图HSI变换到RGB

图3-6 gamma =1.5的仿真图

改变gamma的值可以改变输出图像的亮度,gamma的值越大,图像对比度越高,反之,对比度越低。当gamma的值为1时,不改变原输出图像对比度。

3.3 比较与结论

通过以上仿真实验可以看出,对于伪彩色图像来说,密度分割法是一种最简单、最直观的方法,便于人为控制实现所需要的色彩信息。如果分层越多,人眼所能获取的信息也就越多,图像增强的效果也就越好,但同时也存在变换出的彩色数目有限的缺点。如果掌握好色彩值,则图像色彩的过渡也会很自然,否则,图像的色彩过渡不连续,显得颜色变化剧烈。

灰度级-彩色变换法可得到多种颜色渐变的连续彩色图像,在细节观察要求不是很高的情况下,可选择该法把灰度图像映射到彩色空间,观察到更多的细节,

但是要想观察到更多的细节信息,灰度级-彩色变换法还不是最合适的选择。

频域彩色增强对滤波器的要求显得尤为重要,如果设计的滤波器不合适,则无法显示更多的细节。当然,灰度级非常小,即频域变化非常小也是影响仿真结果的因素之一。

真彩色增强对图像的亮度进行调整,以突出细节显示的效果,让人眼更易观察到这种细节。真彩色增强主要用于图像彩色分布单一,明暗变化不明显的彩色图像,可以增大图像对比度,使图像中亮度亮的部分更亮,亮度暗的部分更暗,以此来突出显示细节。

综合以上分析,密度分层法相对来说比较灵活一些,主要缺点就是色彩不丰富,即人眼获取的信息不多,且色彩变化不连续。对于细节要求不是很高的场合,适合采用灰度级-彩色变换法。综合看比较好的应该是频域伪彩色增强法。对于真彩色增强法,目前是基于亮度的调整,还有一些类似于灰度图像增强的方法,如直方图均衡和滤波法等。各个方法都有其优缺点,根据不同的场合使用不同的彩色增强方法。

4、总结与展望

4.1 总结

本文主要介绍了彩色图像增强的理论知识及结合理论知识运用MATLAB实现彩色图像增强。介绍了伪彩色图像增强和真彩色图像增强两种处理不同对象的彩色增强方法,其中伪彩色图像增强主要有密度分割法、灰度级-彩色变换法和频域彩色变换法三种方法,真彩色图像增强法是在空间频率对图像进行了增强。

4.2 展望

随着计算机处理速度的能力不断提高,数字图像处理在科学技术中的不断渗透,其应用越来越广泛,使得数字图像处理的地位逐步提升,人们对图像的要求也越来越高。目前,数字图像处理技术已经渗透到航空航天、军事、医疗、电子设备、工业和多媒体娱乐业等领域。例如,伪彩色增强应用在医学影像、遥感影像等方面。真彩色增强应用在多媒体彩色图像处理方面、彩色医疗影像等。

随着彩色图像不断深入到生产生活中,彩色图像增强技术一定有非常好的前景,不再是基于灰度图像的增强,而是直接基于彩色图像的增强技术。一定有一种算法解决目前色彩过渡不连续、无法显示全部细节和色彩不丰富三大问题。

参考文献

[1]李俊山,李旭辉.数字图像处理[M],北京:清华大学出版社,2007::225~248

[2]Rafael C. Gonzalez, Richard E. Woods. 数字图像处理[M].阮秋琦,阮宇智译(MATLAB版).北京:电子工业出版社,2012:144~178

[3]景晓军,周贤伟,付娅丽.图像处理技术及其应用[M],北京:国防工业出版社,2005:117~119

[4]李朝晖,张弘.数字图像处理及应用[M],北京:机械工业出版社,2004:85~88

附录

1、%伪彩色增强--密度分割法

f=imread('C:\Documents and Settings\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;

for i=1:1024

for j=1:1024

if 0<=I(i,j)&&I(i,j)<=15

R(i,j)=1;G(i,j)=8;B(i,j)=255;

else if 16<=I(i,j)&&I(i,j)<=50

R(i,j)=2;G(i,j)=48;B(i,j)=254;

else if 51<=I(i,j)&&I(i,j)<=70

R(i,j)=4;G(i,j)=112;B(i,j)=252;

else if 71<=I(i,j)&&I(i,j)<=80

R(i,j)=8;G(i,j)=160;B(i,j)=248;

else if 81<=I(i,j)&&I(i,j)<=m/(n-2)-1

R(i,j)=255;G(i,j)=8;B(i,j)=1;

else if m/(n-2)<=I(i,j)&&I(i,j)<=m/(n-5)-1 R(i,j)=16;G(i,j)=192;B(i,j)=240;

else if m/(n-5)<=I(i,j)&&I(i,j)<=m/(n-6)-1 R(i,j)=32;G(i,j)=224;B(i,j)=224;

else if m/(n-6)<=I(i,j)&&I(i,j)<=m/(n-7)-1 R(i,j)=64;G(i,j)=248;B(i,j)=192;

else if m/(n-7)<=I(i,j)&&I(i,j)<=m/(n-8)-1 R(i,j)=128;G(i,j)=255;B(i,j)=160;

else if m/(n-8)<=I(i,j)&&I(i,j)<=m/(n-9)-1 else if m/(n-9)<=I(i,j)&&I(i,j)<=m/(n-10)-1 R(i,j)=192;G(i,j)=248;B(i,j)=64;

else if m/(n-10)<=I(i,j)&&I(i,j)<=m/(n-11)-1 R(i,j)=224;G(i,j)=224;B(i,j)=32;

else if m/(n-11)<=I(i,j)&&I(i,j)<=m/(n-12)-1 R(i,j)=240;G(i,j)=192;B(i,j)=16;

else if m/(n-12)<=I(i,j)&&I(i,j)<=m/(n-13)-1 R(i,j)=248;G(i,j)=160;B(i,j)=8;

else if m/(n-13)<=I(i,j)&&I(i,j)<=m/(n-14)-1 R(i,j)=250;G(i,j)=112;B(i,j)=4;

else if m/(n-14)<=I(i,j)&&I(i,j)<=m/(n-15)-1 R(i,j)=252;G(i,j)=48;B(i,j)=2;

end

end

end

end

end

end

end

end

end

end

end

end

end

end

end

end

end

end

J(:,:,1)=R;J(:,:,2)=G;J(:,:,3)=B;

subplot(1,2,2);

imshow(uint8(J));

title('变换后的图像');

2、%伪彩色增强--彩色变换

I=imread('C:\Documents and Settings\Administrator\桌面\flower2.jpg'); I=rgb2gray(I);

subplot(1,2,1);imshow(I);

title('原始图像');

J=zeros(1024,1024,3);

I=double(I);

[M,N]=size(I);

L=256;

for i=1:M

for j=1:N

if I(i,j)<=L/4

R(i,j)=0;G(i,j)=4*I(i,j);B(i,j)=L;

else if I(i,j)<=L/2

R(i,j)=0;G(i,j)=L;B(i,j)=-4*I(i,j)+L*2;

else if I(i,j)<=3*L/4

R(i,j)=4*I(i,j)- L*2;G(i,j)=L;B(i,j)=0;

else

R(i,j)=L;G(i,j)=-4*I(i,j)+4*L;B(i,j)=0;

end

end

end

end

end

%end

J(:,:,1)=R;J(:,:,2)=G;J(:,:,3)=B;

subplot(1,2,2);imshow(uint8(J));

title('彩色变换后图像');

3、%伪彩色增强-频域伪彩色增强法

I=imread('C:\Documents and Settings\Administrator\桌面\flower2.jpg'); I=rgb2gray(I);

[M,N]=size(I)

F=fft2(I);

fftshift(F);

for u=1:M

for v=1:N

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);

end

end

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;

for i=1:M

for j=1:N

out(i,j,1)=redcolor(i,j);

out(i,j,2)=greencolor(i,j);

out(i,j,3)=bluecolor(i,j);

end

end

out=abs(out);

figure;imshow(out);

4、%real color enhancement

f=imread('C:\Documents and Settings\Administrator\桌面\flower2.jpg');

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)*(fg-fb)).^

(1/2)./360);

fi1=imadjust(fi,[0 1],[],1);

f_h=cat(3,fh,fs,fi1);

subplot(1,2,1);imshow(f_h);

title('I分量均衡化的HSI图')

H=f_h(:,:,1);

S=f_h(:,:,2);

I=f_h(:,:,3);

R=zeros(size(f_h,1),size(f_h,2));

G=zeros(size(f_h,1),size(f_h,2));

B=zeros(size(f_h,1),size(f_h,2));

idx=find((0<=H)&(H<2*pi/3));

B(idx)=I(idx).*(1-S(idx));

R(idx)=I(idx).*(1+S(idx).*cos(H(idx))./cos(pi/3)-H(idx));

G(idx)=3*I(idx)-(R(idx)+B(idx));

idx=find((2*pi/3<=H)&(H<4*pi/3));

R(idx)=I(idx).*(1-S(idx));

G(idx)=I(idx).*(1+S(idx).*cos(H(idx)-2*pi/3)./cos(pi-H(idx)));

B(idx)=3*I(idx)-(R(idx)+G(idx));

idx=find((4*pi/3<=H)&(H<=2*pi));

G(idx)=I(idx).*(1-S(idx));

B(idx)=I(idx).*(1+S(idx).*cos(H(idx)-4*pi/3)./cos(5*pi/3-H(idx))); R(idx)=3*I(idx)-(G(idx)+B(idx));

rgb=cat(3,R,G,B);

subplot(1,2,2);imshow(rgb);

title('HSI变换到RGB');

相关主题