基于MATLAB的图像伪彩色处理Word文档下载推荐.docx

上传人:b****7 文档编号:22645753 上传时间:2023-02-05 格式:DOCX 页数:13 大小:842.41KB
下载 相关 举报
基于MATLAB的图像伪彩色处理Word文档下载推荐.docx_第1页
第1页 / 共13页
基于MATLAB的图像伪彩色处理Word文档下载推荐.docx_第2页
第2页 / 共13页
基于MATLAB的图像伪彩色处理Word文档下载推荐.docx_第3页
第3页 / 共13页
基于MATLAB的图像伪彩色处理Word文档下载推荐.docx_第4页
第4页 / 共13页
基于MATLAB的图像伪彩色处理Word文档下载推荐.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

基于MATLAB的图像伪彩色处理Word文档下载推荐.docx

《基于MATLAB的图像伪彩色处理Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于MATLAB的图像伪彩色处理Word文档下载推荐.docx(13页珍藏版)》请在冰豆网上搜索。

基于MATLAB的图像伪彩色处理Word文档下载推荐.docx

伪彩色图像处理技术已经被广泛应用于遥感和医学图像处理中,适用于航摄、遥感图片和云图判读、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('

subplot(221),imshow(I);

title('

原图像'

I=rgb2gray(I);

subplot(222),imshow(I);

灰度图像'

I=double(I);

[M,N]=size(I);

L=256;

fori=1:

M

forj=1:

N

ifI(i,j)<

L/4

R(i,j)=0;

G(i,j)=4*I(i,j);

B(i,j)=L;

elseifI(i,j)<

=L/2;

G(i,j)=L;

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

=3*L/4

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

B(i,j)=0;

else

R(i,j)=L;

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

end

end

G2C(i,j,1)=R(i,j);

G2C(i,j,2)=G(i,j);

G2C(i,j,3)=B(i,j);

G2C=G2C/256;

subplot(223),imshow(G2C);

伪彩色图像'

频域滤波法

i=imread('

subplot(221),imshow(i);

i=rgb2gray(i);

subplot(222),imshow(i);

[M,N]=size(i);

F=fft2(i);

fftshift(F);

Rcut=100;

Gcut=200;

Bcenter=150;

Bwidth=100;

Bu0=10;

Bv0=10;

foru=1:

forv=1:

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

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;

G2C(i,j,1)=Rcolor(i,j);

G2C(i,j,2)=Gcolor(i,j);

G2C(i,j,3)=Bcolor(i,j);

G2C=abs(G2C);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 从业资格考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1