图像伪彩色处理
灰度图像的伪彩色处理
学 院:物电学院
班 级:11级电信班
指导老师:
小组成员:
目 录
1.1伪彩色图像处理原理…………………………………………1
1.2伪彩色增加的目的……………………………………………2
1.3伪彩色图像处理增强的方法…………………………………2
2.1 源程序执行原理………………………………………………4
2.2 源程序 ………………………………………………………5
2.3实验结果………………………………………………………6
3.1学习心得………………………………………………………7
参考文献…………………………………………………………8
1.1伪彩色图像处理原理
数字图像处理(Digital Image Processing)是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术,又称为计算机图像处理。扩展了人眼的视觉范围,使之跳出传统的可视界限,在人类生活发展的各个方面至关重要。如何用计算机系统解释图像,形成了图像的理解或称为计算机视觉的理解外部世界。
所谓伪彩色图像处理,就是将图像中的黑白灰度级编程不同的彩色,如过分层越多,人眼所能提取的信息也多,从而达到图像增强的效果。这是一种视觉效果明显,又不太复杂的图像增强技术。伪彩色图像处理技术不仅适用于航空摄影和遥感图片,也可用于x光片及云母的判读等处理中。实现伪彩色处理的主要方法主要有密度分割法、灰度级-伪彩色变换法、频域伪彩色处理等多种方法。我们在这里主要介绍了各种方法的基本原理并重点介绍了灰度级-伪彩色变换法的序设计。
伪彩色图像处理(又称假彩色)有三种:第一种是把真实景物图像的像素逐个地映射为另一种颜色,使目标在原图像中更突出;第二种是把多光谱图像中任意三个光谱图像映射为可见光红、绿、蓝三种可见光谱段的信号,再合成为一幅彩色图像;第三种是把黑白图像,用灰度级映射或频谱映射而成为类似真实彩色的处理,相当于黑白照片的人工着色方法。
伪彩色处理是根据特定的准则对灰度值赋以彩色的处理。由于人眼对彩色的分辨率远高于对灰度差的分辨率,所以这种技术可用来识别灰度差较小的像素。这是一种视觉效果明显而技术又不是很复杂的图像增强技术。灰度图像中,如果相邻像素点的灰度相差大,人眼将无法从图像中提取相应的信息,因为人眼分辨灰度的能力很差,一般只有几十个数量级,但是人眼对彩色信号的分辨率却很强,这样将黑白图像转换为彩色图像后,人眼可以提取更多的信息量。
伪彩色虽然能将黑白灰度转化为彩色,但这种彩色并不是真正表现图像的原始颜色,而仅仅是一种便于识别的伪彩色。伪彩色处理技术的实现方法有多种,如灰度分层法、灰度级-彩色变换法、频域滤波法等等。
1.2伪彩色增强的目的
伪彩色增强是把黑白图像的各个不同灰度级按照线性或非线性的映射函数变换成不同的彩色,得到一幅彩色图像的技术。使原图像细节更易辨认,目标更容易识别,能够成为。伪彩色增强的方法主要有密度分割法、灰度级一彩色变换和频率域伪彩色增强三种。
图1:原理框图
1.3伪彩色图像处理增强的方法
1.灰度分割法
密度分割法是把灰度图像的灰度级从0(黑)到M0(白)分成N个区间Ii(i=1,2,…,N),给每个区间Ii指定一种彩色Ci,这样,便可以把一幅灰度图像变成一幅伪彩色图像。该方法比较简单、直观。缺点是变换出的彩色数目有限。
灰度是描述灰度图像内容的最直接的视觉特征,它指黑白图像中点的颜色深度,范围一般从0到255白色为255,黑色为0,中间的数字从小到大表示由黑到百的过渡色,即可以表示不同的灰度等级。
灰度切分示意图如右图。
设原始黑白图像的灰度范围为:
0?f(x,y)?L
用k+1灰度等级把该灰度范围分为k段:
I0,I1,...,Ik I0=0(黑),Ik=L(白)
映射每一段灰度成一种颜色,映射关系为
ɡ(x,y)= C1 (I(i-1)?f(x,y)?I(i);i=1,2...k) 这里ɡ(x,y)为输出的伪彩色图像;Ci为灰度在[I(i-1),I(i)]中时所映射成的彩色。经过这种映射处理后,原始黑白图像f(x,y)就变成了伪彩色图像ɡ(x,y)。若原始图像f(x,y)就编程了伪彩色图像ɡ(x,y)。若原始图像f(x,y)的灰度分布遍
及上述k个灰度段,则伪彩色图像ɡ
(x,y)就具有k中彩色。
图2:灰度切分示意图
2.空间域灰度级一彩色变换
根据色度学原理,将原图像f(x,y)的灰度范围分段,经过红、绿、蓝三种不同变换TR(?)、TG(?)和TB(?),变成三基色分量IR(x,y)、IG(x,y)、IB(x,y),然后用它们分别去控制彩色显示器的红、绿、蓝电子枪,便可以在彩色显示器的屏幕上合成一幅彩色图像。
图3:伪彩色处理变换曲线
由上图可以
出一下的映射函数。下式表示R(x,y)、G(x,y)、B(x,y)的R、G、B通道的颜色值,其中,f(x,y)表示特定点灰度图像的灰度值,f式所选灰度图像的灰度值。
0?f?63时R(x,y)=0,G(x,y)=4f(x,y)B(x,y)=255;
64?f?127时R(x,y)=0,G(x,y)=255,B(x,y)=511-4f(x,y);
128?f?191时R(x,y)=4f(x,y)-511,G(x,y)=255,B(x,y=0;
192?f?255时R(x,y)=255,G(x,y)=1023-4f(x,y),B(x,y)=0; 通过上面的映射变换曲线,可以实现对灰度图像的着色。最后再将每一个像素三个通道得到的值相加,就可以将每一个像素进行伪彩色处理。最终得到伪彩色图像。
3. 频率域伪彩色增强
频率域伪彩色增强的方法是: 把灰度图像经傅立叶变换到频率域,在频率域内用三个不 同传递特性的滤波器分离成三个独立分量; 然后对它们进行逆傅立叶变换,便得到三 幅代表不同频率分量的单色图像,接着对这三幅图像作进一步的处理(如直方图均衡化)最 后将它们作为三基色分量分别加到彩色显示器的红、绿、蓝显示通道,得到一幅彩色图像。
滤波器1傅里叶反变换进一步处理
傅彩f(x, y)里色叶滤波器2傅里叶反变换进一步处理显 变示换器
滤波器3傅里叶反变换进一步处理
2.1源程序执行原理
伪彩色图像的含义是,每个像素的颜色不是由每个基色分量的数值直接决定, 而是把像素值当成彩色,查找表的表项入口地址,去查找一个显示图像时使用的 R,G,B强度值,用查找出的 R,G,B 强度值产生的彩色称为伪彩色。
给定灰度-彩色转换函数,对一灰度图像进行伪彩色处理。转换函数
如下表:
输入灰度级
输入灰度级 输出彩色 R G B
0,31 蓝色 0 0 255
32,63 绿色 0 255 0
64,95 淡蓝色 193 210 240
96,127 紫色 141 75 18
128,159 红色 255 0 0
160,191 橙色 250 140 53
192,223 黄色 255 255 0
224,255 淡黄色 227 207 89
彩色查找表CLUT 是一个事先做好的表,表项入口地址也称为索引号。例如 16 种颜色的查找表,0 号索引对应黑色,…,15 号索引对应白色。彩色图像本身的像素数值和彩色查找表的索引号有一个变换关系,利用这个关系可以得出图像。
2.2 源程序
I=imread('Einstein.tif');
[M,N]=size(I);
for i=1:M
for j=1:N
if I(i,j)<=31&&I(i,j)>=0;
R(i,j)=0;G(i,j)=0;B(i,j)=255;
else if I(i,j)<=63&&I(i,j)>=32;
R(i,j)=0;G(i,j)=255;B(i,j)=0;
else if I(i,j)<=95&&I(i,j)>=64;
R(i,j)=193;G(i,j)=210;B(i,j)=240;
else if I(i,j)<=127&&I(i,j)>=96;
R(i,j)=141;G(i,j)=75;B(i,j)=18;
else if I(i,j)<=159&&I(i,j)>=128;
R(i,j)=255;G(i,j)=0;B(i,j)=0;
else if I(i,j)<=191&&I(i,j)>=160;
R(i,j)=250;G(i,j)=140;B(i,j)=53;
else if I(i,j)<=223&&I(i,j)>=192;
R(i,j)=255;G(i,j)=255;B(i,j)=0;
else if I(i,j)<=255&&I(i,j)>=224;
R(i,j)=227;G(i,j)=207;B(i,j)=87;
end
end
end
end
end
end
end
end
end
end
for i=1:M
for j=1:N
EINSTERN(i,j,1)=R(i,j);
EINSTERN(i,j,2)=G(i,j);
EINSTERN(i,j,3)=B(i,j);
end
end
OUT=EINSTERN;
imshow(I),figure,imshow(OUT);
2.3 实验结果
3.1学习心得
通过这是数字图像处理的课程实践,都让我们对MATLAB这个软件又进一步的熟悉,也重新学习了图像处理的有关知识。在实践中遇到的问
大都是软件的相关函数或者是程序的格式出错,最后上网查找各种资料都解决了。感觉数字图像处理这门课是很有用途的,不管在以后的工作或者学习中能不能用到,它都是我们值得学习和研究的一门课程。在以后的阶段如果会接触到该方面的知识,我们会更加深刻的学习,丰富自己的知识体系。
参考文献
1.数字图像处理(Matlab版) 电子工业出版社 冈萨雷斯 2006
2.其他数字图像处理和matlab编程方面的书籍及相关学习资料