基于某MATLAB地图像伪彩色处理.docx
《基于某MATLAB地图像伪彩色处理.docx》由会员分享,可在线阅读,更多相关《基于某MATLAB地图像伪彩色处理.docx(24页珍藏版)》请在冰点文库上搜索。
基于某MATLAB地图像伪彩色处理
适用文档
图像伪彩色办理
近几年来,跟着多媒体技术和因特网的快速展开和普及,数字图像办理技术遇到了亘古未有的宽泛重视,出现了很多新的应用领域。
最明显的是数字图像办理技术已经从工业领域、实验室走入了商业领域及办公室,甚至走入了人们的平时生活。
因为彩色图像供给了比灰度图像更为丰富的信息,所以彩色图像办理正遇到人们愈来愈多的关注。
伪彩色办理是依据特定的准那么对灰度值赋以彩色的办理。
因为人眼对彩色的分辨率远高于对灰度差的分辨率,所以这类技术可用来辨别灰度差较小的像素。
这是一种视觉成效显然而技术又不是很复杂的图像加强技术。
灰度图像中,假如相邻像素点的灰度相差大,人眼将没法从图像中提取相应的信息,因为人眼分辨灰度的能力很差,一般只有几十个数目级,可是人眼对彩色信号的分辨率却很强,
这样将黑白图像变换为彩色图像后,人眼能够提取更多的信息量。
同时MATLAB技术关于我们实现数字图像办理是一种特别有效的适用工具。
1.前言
进入21世纪以来,跟着微电子技术、计算机技术、现代通讯技术的飞快发
展,人类社会正健步迈入信息化时代。
在人类所接收到的所有信息中,70%以上的经过视感觉到的。
所以对数字图像进行有效地办理变换十分重要,并且彩色图像占很大的比率,所以,对彩色图像的办理显得尤其重要。
此中伪彩色办理技术就是一项很重要的图像办理技术。
伪彩色办理是指将黑白图像转变为彩色图像,或许是将单色图像变换成给定彩色散布的图像。
因为人眼对彩色的分辨率远高于对灰度差的分辨率,所以这类技术可用来辨别灰度差较小的像素。
这是一种视觉成效显然而技术又不是很复杂的图像加强技术。
灰度图像中,假如相邻像素点的灰度相差大,人眼将没法从图像中提取相应的信息,因为人眼分辨灰度的能力很差,一般只有几十个数目级,
可是人眼对彩色信号的分辨率却很强,这样将黑白图像变换为彩色图像后,人眼就能够提升对图像细节的划分力,提取更多的信息量。
所以,伪彩色办理的主要目的是为了提升人眼对图像的细节的分辨能力,以抵达图像加强的目的。
伪彩色图像办理技术已经被宽泛应用于遥感和医学图像办理中,合用于航摄、遥感图片和云图判读、X光片等方面。
根来源理是将黑白图像或许单色图像的各个灰度级般配到彩色空间中的一
点,进而使单色图像映照成彩色图像。
黑白图像中不同的灰度级给予不同的彩色。
适用文档
2.算法
f(x,y)一副黑白像,R(x,y),G(x,y),B(x,y)f(x,y)映照到RGB空的三个色重量,彩色理能够表示:
定不同的映照函数就能将灰度像化不同的彩色像。
需要注意
的是,彩色然能将黑白灰度化彩色,但种彩色其实不是真实表像的
原始色,而是一种便于的彩色。
在用中,往常是了提升
像分辨率而行彩色理,所以采纳分辨成效最好的映照函数。
彩色理
技的方法有多种,如灰度分法、灰度-彩色法、域波法等等。
A.密度分法
①理基及公式推
密度分法是把灰度像的灰度从0〔黑〕到M0〔白〕分红N个区Ii(i=1,2,⋯,N),每个区Ii指定一种彩色Ci,,便能够把一幅灰度像成一幅彩色像。
方法比、直。
弊端是出的彩色数目有限。
灰度是描绘灰度像内容的最直接的特点,它指黑白像中点的色深度,
范一般从0到255白色255,黑色0,中的数字从小到大表示由黑到百
的渡色,即能够表示不同的灰度等。
灰度切分表示以下:
适用文档
设原始黑白图像的灰度范围为:
0≤f(x,y)≤L
用k+1灰度等级把该灰度范围分为k段:
I0,I1,...,IkI0=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中彩色。
②仿真结果及剖析:
灰度图像:
密度分层图像:
分层级数为8:
适用文档
分层级数为16:
分层级数为64:
③结果剖析:
长处:
密度分层伪彩色图像简单易行、直观,仅用硬件就能够实现。
弊端:
所得伪彩色图像彩色僵硬,彩色数目有限,且量化噪声大〔即切割偏差〕。
密度分层级数越大,图像分辨率越高,量化噪声越小。
为了减少许化噪声,就必
适用文档
须增添切割级数。
这不只致使设施复杂,并且彩色漂移现象严重。
主要用于传感、医学图像办理中。
B灰度级—彩色变换法
①理论根基及公式推导
灰度级-彩色变换伪色彩办理技术能够将灰度图像变为拥有多种颜色渐变的连续
彩色图像。
该方法先将灰度图像送入拥有不同变换特征的红、绿、蓝三个变换器,而后再将三个变换器的不同输出分别送到彩色显像管的红、绿、蓝枪,再合成某种颜色。
同一灰度由三个变换器对其实行不同变换,使三个变换器输出不同,进而不同大小灰度级能够合成不同颜色。
灰度级-彩色变换伪色彩办理过程见以下图。
经过这类方法变换后的图像视觉成效好。
一组典型的灰度级-彩色变换的传达函数以以下图所示。
此中图〔a〕、〔b〕、〔c〕分别表示红色、绿色、蓝色的传达函数,图〔d〕是三种彩色传达函数组合在一同的状况。
由图〔a〕可见,凡灰度级小于L/2的像素将被转变为尽可能的暗红色,而灰度级位于L/2到3L/4之间的像素那么取红色从暗到亮的线性变换。
凡灰
度级大于3L/4的像素均被转变为最亮的红色。
其余的颜色以此类推。
②仿真结果及剖析
适用文档
③结果剖析:
从仿真图中能够看出,图像从灰度图像变换成了彩色图像,密度分层法所得伪彩色图像彩色僵硬,且量化噪声大〔即切割偏差〕,而灰度级-彩色变换法所得图像是多种颜色渐变的连续彩色图像,更为拥有层次感,变换后的图像视觉成效更好。
伪彩色固然能将黑白灰度转变为彩色,但这类彩色其实不是真实表现图像的原始颜色,而只是是一种便于识其余伪彩色
。
C.频域滤波法
①理论根基及公式推导
频次滤波法第一把灰度图像经傅立叶变换到频次域,在频次域内用三个不同传达特征的滤波器分离成三个独立重量;而后对它们进行逆傅立叶变换,便获得三幅代表不同频次重量的单色图像,接着对这三幅图像作进一步的办理〔如直方图平衡化〕最后将它们作为三基色重量分别加到彩色显示器的红、绿、蓝显示通道,获得一幅彩色图像。
频域滤波法输出图像的伪彩色与原图像的灰度级没关,而是取决于灰度图像中不
适用文档
同的频次成分。
假如为了突出图像中高频成分〔即图像的细节〕而将其变为蓝色,那么只要要将蓝通道滤波器设计成高通滤波器。
假如要克制图像中某种频次成分,
那么能够设计一个带阻滤波器来抵达目的。
②仿真结果及剖析
③结果剖析:
从仿真图中能够看出,图像从灰度图像变换成了彩色图像。
频域滤波法获得的伪彩色图像和灰度级-彩色变换法所得的伪彩色图像不同样,两种方法平分秋色。
进一步说明,伪彩色固然能将黑白灰度转变为彩色,但这类彩色其实不是真实表现图像的原始颜色,而只是是一种便于识其余伪彩色。
4.结论
伪彩色办理不改变像素的几何地点,而只是改变其显示的颜色。
它是一种很
适用的图像加强技术,主要用于提升人眼对图像的分辨能力。
这类办理能够用计算机来达成,也能够用专用硬件设施来实现。
伪彩色图像办理技术已经被宽泛应
用于遥感和医学图像办理中,比如,它合用于航摄、遥感图片和云图判读、X光片等方面。
经过此次课程设计,使我更为扎实的掌握了相关图像办理方面的知识,在设
计过程中固然碰到了一些问题,但经过频频思虑和与同学沟通,找出了原由所在,也裸露出了先期我在这方面的知识短缺和经验缺少。
实践出真知,经过亲身着手制作,使我们掌握的知识不再是纸上谈兵。
适用文档
附录:
MATLAB仿真代码
①密度分层法仿真代码
I=imread('郁金香.jpg');
I=rgb2gray(I)
imshow(I);%显示灰度图像
G2C=grayslice(I,8);%密度分层
figure;
imshow(G2C,hot(8));%显示伪彩色图像
②灰度级—彩色变换法
I=imread('郁金香.jpg');
subplot(221),imshow(I);title('原图像');
I=rgb2gray(I);
subplot(222),imshow(I);title('灰度图像');
I=double(I);
[M,N]=size(I);
L=256;
fori=1:
M
forj=1:
N
ifI(i,j)R(i,j)=0;
G(i,j)=4*I(i,j);
B(i,j)=L;
elseifI(i,j)<=L/2;
R(i,j)=0;
G(i,j)=L;
B(i,j)=-4*I(i,j)+2*L;
elseifI(i,j)<=3*L/4
R(i,j)=4*I(i,j)-2*L;
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
fori=1:
M
forj=1:
N
G2C(i,j,1)=R(i,j);
适用文档
G2C(i,j,2)=G(i,j);
G2C(i,j,3)=B(i,j);
end
end
G2C=G2C/256;
subplot(223),imshow(G2C);title('伪彩色图像');
③频域滤波法
i=imread('郁金香.jpg')
subplot(221),imshow(i);title('原图像');
i=rgb2gray(i);
subplot(222),imshow(i);title('灰度图像');
[M,N]=size(i);
F=fft2(i);
fftshift(F);
Rcut=100;
Gcut=200;
Bcenter=150;
Bwidth=100;
Bu0=10;
Bv0=10;
foru=1:
M
forv=1:
N
D(u,v)=sqrt(u^2+v^2);
RH(u,v)=1/(1+(sqrt
(2)-1)*(D(u,v)/Rcut)^2);
GH(u,v)=1/(1+(sqrt
(2)-1)*(Gcut/D(u,v))^2);
BD(u,v)=sqrt((u-Bu0)^2+(v-Bv0)^2);
BH(u,v)=1-1/(1+BD(u,v)*Bwidth/((BD(u,v))^2-(Bcenter)^2)^2);end
end
R=RH.*F;
Rcolor=ifft2(R);
G=GH.*F;
Gcolor=ifft2(G);
B=BH.*F;
Bcolor=ifft2(B);
Rcolor=real(Rcolor)/256;
Gcolor=real(Gcolor)/256;
Bcolor=real(Bcolor)/256;
fori=1:
M
forj=1:
N
G2C(i,j,1)=Rcolor(i,j);
G2C(i,j,2)=Gcolor(i,j);
G2C(i,j,3)=Bcolor(i,j);
适用文档
end
end
G2C=abs(G2C);
subplot(223),imshow(G2C);title('伪彩色图像');