中北大学课程设计说明书学生姓名:王瑞学号:39学院:信息商务学院专业:电子信息工程题目:图像伪彩色处理方法研究指导教师:赵英亮陈平职称: 副教授2013 年 12 月 26 日中北大学课程设计任务书13/14 学年第一学期学院:信息商务学院专业:电子信息工程学生姓名:王瑞学号:39学生姓名:齐杨学号:36学生姓名:穆志森学号:26课程设计题目:专业综合实践之多维信息处理部分:图像伪彩色处理方法研究起迄日期:2013年12月16 日~2013年12月27日课程设计地点:电子信息工程专业实验室指导教师:赵英亮陈平系主任:王浩全下达任务书日期: 2013年12月15 日目录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. 频率域伪彩色增强频率域伪彩色增强的方法是:把灰度图像经傅立叶变换到频率域,在频率域内用三个不同传递特性的滤波器分离成三个独立分量;然后对它们进行逆傅立叶变换,便得到三幅代表不同频率分量的单色图像,接着对这三幅图像作进一步的处理(如直方图均衡化)最后将它们作为三基色分量分别加到彩色显示器的红、绿、蓝显示通道,得到一幅彩色图像。
2.1源程序执行原理伪彩色图像的含义是,每个像素的颜色不是由每个基色分量的数值直接决定,而是把像素值当成彩色,查找表的表项入口地址,去查找一个显示图像时使用的R,G,B强度值,用查找出的 R,G,B 强度值产生的彩色称为伪彩色。
给定灰度-彩色转换函数,对一灰度图像进行伪彩色处理。
转换函数如下表:输入灰度级0~31 :淡黄色;32~63 :黄色;64~95 :橙色;96~127 :红色;128~159 :紫色;160~191 :淡蓝色;192~223 :绿色;224~255 :蓝色。
彩色查找表CLUT 是一个事先做好的表,表项入口地址也称为索引号。
例如16 种颜色的查找表,0 号索引对应黑色,…,15 号索引对应白色。
彩色图像本身的像素数值和彩色查找表的索引号有一个变换关系,利用这个关系可以得出图像。
2.2 源程序灰度分割法程序I=imread('123.bmp');J=zeros(256,256,3);I=double(I);for i=1:256for j=1:256if 0<=I(i,j)&&I(i,j)<=15R(i,j)=1;G(i,j)=8;B(i,j)=255;else if 16<=I(i,j)&&I(i,j)<=31R(i,j)=2;G(i,j)=48;B(i,j)=254;else if 32<=I(i,j)&&I(i,j)<=47R(i,j)=4;G(i,j)=112;B(i,j)=252; else if 48<=I(i,j)&&I(i,j)<=63R(i,j)=8;G(i,j)=160;B(i,j)=248; else if 80<=I(i,j)&&I(i,j)<=95R(i,j)=16;G(i,j)=192;B(i,j)=240; else if 96<=I(i,j)&&I(i,j)<=111R(i,j)=32;G(i,j)=224;B(i,j)=224; else if 112<=I(i,j)&&I(i,j)<=127R(i,j)=64;G(i,j)=248;B(i,j)=192; else if 128<=I(i,j)&&I(i,j)<=143R(i,j)=128;G(i,j)=255;B(i,j)=160; else if 144<=I(i,j)&&I(i,j)<=159R(i,j)=160;G(i,j)=255;B(i,j)=128; else if 160<=I(i,j)&&I(i,j)<=175R(i,j)=192;G(i,j)=248;B(i,j)=64; else if 176<=I(i,j)&&I(i,j)<=191 R(i,j)=224;G(i,j)=224;B(i,j)=32; else if 192<=I(i,j)&&I(i,j)<=207R(i,j)=240;G(i,j)=192;B(i,j)=16; else if 208<=I(i,j)&&I(i,j)<=223R(i,j)=248;G(i,j)=160;B(i,j)=8; else if 224<=I(i,j)&&I(i,j)<=239R(i,j)=252;G(i,j)=112;B(i,j)=4; else if 240<=I(i,j)&&I(i,j)<=255R(i,j)=254;G(i,j)=48;B(i,j)=2; else if 64<=I(i,j)&&I(i,j)<=79R(i,j)=255;G(i,j)=8;B(i,j)=1;endendendendendendendendendendendendendendendendendendJ(:,:,1)=R;J(:,:,2)=G;J(:,:,3)=B; imshow(uint8(J));I=imread('d:\33.jpg'); %I=double(I);[M,N]=size(I);L=256;for i=1:Mfor j=1:Nif I(i,j)<L/4R(i,j)=0;G(i,j)=4*I(i,j);B(i,j)=L;else if I(i,j)<=L/2R(i,j)=0;G(i,j)=L;;B(i,j)=-4*I(i,j)+2*L;else if I(i,j)<=3*L/4R(i,j)=4*I(i,j)-2*L;G(i,j)=L;B(i,j)=0;elseR(i,j)=L;G(i,j)=-4*I(i,j)+4*L; B(i,j)=0;endendendendendfor i=1:Mfor j=1:NG2C(i,j,1)=R(i,j);G2C(i,j,2)=G(i,j);G2C(i,j,3)=B(i,j);endendG2C=G2C;figure;imshow(G2C,[]);I=imread('Miss256G.bmp');figure(1);imshow(I);title('原始图像');J=zeros(256,256,3);I=double(I);for i=1:256for j=1:256if 0<=I(i,j)&&I(i,j)<=63R(i,j)=0;G(i,j)=4*I(i,j);B(i,j)=255;else if 63<=I(i,j)&&I(i,j)<=127R(i,j)=0;G(i,j)=255;B(i,j)=511-4*I(i,j);else if 128<=I(i,j)&&I(i,j)<=191R(i,j)=4*I(i,j)-511;G(i,j)=255;B(i,j)=0;else if 192<=I(i,j)&&I(i,j)<=255R(i,j)=255;G(i,j)=1025-4*I(i,j);B(i,j)=0;endendendendendendJ(:,:,1)=R;J(:,:,2)=G;J(:,:,3)=B;figure(2);imshow(uint8(J));title('变换后图像');2.3 实验结果灰度分割法原始图像1 变换后的图像1原始图像2变换后图像23.1学习心得通过此次课程设计,使我更加扎实的掌握了有关图像处理方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。