伪彩色图像处理及彩色分割
昆明理工大学,数字图像处理,实验
实验名称: 伪彩色图像处理及彩色分割 专 业: 电子信息科学与技术 姓 名: 学 号: 成 绩: [实验目的]
1、学习和掌握伪彩色处理基本方法~将灰度图像转换为多种颜色的
彩色图像。根据图像特点~了解伪彩色处理技术在实际中的应用。 2、实现彩色图像三基色分割。
3、掌握RGBtoHSI的基本原理,
[实验原理]
1、度图像或者单色图像的各个灰度级匹配到彩色空间中的
点~从而使单色图像映射成彩色图像。 设f(x~y)为一
灰度图像~R (x~y)~G (x~y)~B (x~y)为f(x~y)映
到RGB空间的三个颜色分量~则伪彩色处理可以
示为:
R(x~y)=fR(f(x~y))
G(x~y)=fG(f(x~y))
B(x~y)=fB(f(x~y))
其中fR~fG~fB为某种映射函数。给定不同的映射函
数就能将灰度图像转化为不同的伪彩色图像。 2、三基色原理
基本内容:任何颜色都可以用3种不同的基本颜色按照不同比例混合得到~即:
C=aC1+bC2+cC3
式中a~b~c >=0 为三种原色的权值或者比例~C1、C2、C3为三原色,又称为三基色,。
自然界中的可见颜色都可以用三种原色按一定比例混合得到,反之~任意一种颜色都可以分解为三种原色。作为原色的三种颜色应该相互独立~即其中任何一种都不能用其他两种混合得到。
3、HSI(色调、饱和度、亮度,
亮度:如果无彩色就只有亮度一个维量的变化。
色调:是光波混合中与主波长有关的属性~色调表示观察者接收的主要颜色。这样~当我们说一个物体是红色、橘黄色、黄色时~是指它的色调。
饱和度:与一定色调的纯度有关~纯光谱色是完全饱和的~随着白光的加入饱和度逐渐减少。
两个特点:,1,I分量与图像的彩色信息无关,
,2,H和S分量与人感受颜色的方式是紧密相连的。
将亮度(I)与色调,H,和饱和度,S,分开~避免颜色受到光照明暗(I)等条件的干扰。仅仅
反映色彩本质的色调和饱和度~广泛用于计算机视觉、图像检索和视频检索。
HIS模型包含彩色信息的两个参数是色度(H)和饱和度(S)。色度H由角度表示~彩色的色度反映了该彩色最接近什么样的光谱波长,即彩虹中的那种颜色,。HIS模型不失一般性~可以假定0o的彩色为红色~120o的为绿色~240o的为蓝色。色度从0o~360o覆盖了所有可见光谱的彩色。
饱和度S表示颜色的深浅程度~饱和度越高~颜色越深~如深红~深绿等。饱和度参数是色环的原点,圆心,到彩色点的半径的长度。
亮度I是指光波作用于感受器所发生的效应~其大小由物体反射系数来决定。反射系数越大~物体的亮度越大~反之越小。
4、RGBtoHSI转换公式
31 S,1,[min(R,G,B)]I,(R,G,B)
(R,G,B)3
,G,B,
H, ,,G,B2,,,
1,,[(RG)(RB)],,,,,2 其中: arccos,,,,12,,2[(R,G),(R,B)(G,B)],,
[实验步骤]
实验程序如下:
void CDLView::OnWeics() {
// TODO: Add your command handler code here
long w,h;
long i,j;
w=m_DibHead->biWidth;
h=m_DibHead->biHeight;
unsigned char temp;
unsigned char *r=new unsigned char[w*h];
unsigned char *g=new unsigned char[w*h];
unsigned char *b=new unsigned char[w*h];
for(i=0;i
biWidth;
h=m_DibHead->biHeight;
if((3*w)%4==0)
Sign=0;
else
Sign=4-(3*w%4);//准备调整宽度为4的整数倍
//Sign=0;
for(j=0;j