数字图像处理结课论文Word文档下载推荐.docx
《数字图像处理结课论文Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《数字图像处理结课论文Word文档下载推荐.docx(18页珍藏版)》请在冰豆网上搜索。
R(x,y)=
G(x,y)=
B(x,y)=
其中R(x,y),G(x,y),B(x,y)分别表示伪彩色中三基色分量的数值;
f(x,y)为处理前图像的灰度值;
,
表示三基色与原灰度值f(x,y)的变换关系。
图c:
伪彩色图像处理的能力框图
程序如下:
a=imread('
i_horse.bmp'
);
%灰度到彩色的转换
a=rgb2gray(a);
c=zeros(size(a));
pos=find((a>
=60)&
(a<
105));
c(pos)=a(pos);
b(:
:
1)=c;
=105)&
150));
2)=c;
pos=find(a>
=150);
pos=find(a>
3)=c;
b=uint8(b);
subplot(1,2,1),imshow(a,[]),title('
原始图像'
subplot(1,2,2),imshow(b,[]),title('
灰度彩色变换后图像'
实验结果:
实验分析:
灰度图像变换成伪彩色图像,图像内容的层次变得较清晰,改善了图像的视觉效果。
2.彩色图像的两种平滑滤波
彩色图像实现平滑滤波共两种方法:
(1)彩色图像用传统的邻域单独平滑R、G、B三个分量图像,再对平滑后的分量图像合成。
(2)将RGB图像转换到HSI模型,仅对强度分量I进行平滑处理,而保持色度和饱和度分量不变,再将其转换到RGB空间进行显示。
最后可计算两种平滑滤波的差。
式中,
可以看出,如标量图像那样,该向量分量可以用传统的灰度邻域处理单独的平滑RGB图像的每一平面得到。
rgb1=imread('
006.jpg'
rgb=im2double(rgb1);
fR=rgb(:
1);
fG=rgb(:
2);
fB=rgb(:
3);
figure();
imshow(fR);
imshow(fG);
imshow(fB);
imshow(rgb);
w=fspecial('
average'
fR_filtered=imfilter(fR,w);
fG_filtered=imfilter(fG,w);
fB_filtered=imfilter(fB,w);
imshow(fR_filtered);
imshow(fG_filtered);
imshow(fB_filtered);
rgb_filtered=cat(3,fR_filtered,fG_filtered,fB_filtered);
imshow(rgb_filtered);
I1=(fR+fG+fB)/3;
tmp1=min(min(fR,fG),fB);
tmp2=fR+fG+fB;
tmp2(tmp2==0)=eps;
S=1-3.*tmp1./tmp2;
tmp1=0.5*((fR-fG)+(fR-fB));
tmp2=sqrt((fR-fG).^2+(fR-fB).*(fG-fB));
theta=acos(tmp1./(tmp2+eps));
H1=theta;
H1(fB>
fG)=2*pi-H1(fB>
fG);
H1=H1/(2*pi);
H1(S==0)=0;
imshow(H1);
imshow(S);
imshow(I1);
I=imfilter(I1,w);
imshow(I);
H=H1*2*pi;
R=zeros(size(rgb1,1),size(rgb1,2));
G=zeros(size(rgb1,1),size(rgb1,2));
B=zeros(size(rgb1,1),size(rgb1,2));
ind=find((H>
=0)&
(H<
2*pi/3));
B(ind)=I(ind).*(1.0-S(ind));
R(ind)=I(ind).*(1.0+S(ind).*cos(H(ind))./cos(pi/3.0-H(ind)));
G(ind)=1.0-(R(ind)+B(ind));
2*pi/3)&
4*pi/3));
H(ind)=H(ind)-pi*2/3;
R(ind)=I(ind).*(1.0-S(ind));
G(ind)=I(ind).*(1.0+S(ind).*cos(H(ind))./cos(pi/3.0-H(ind)));
B(ind)=1.0-(R(ind)+G(ind));
=4*pi/3)&
2*pi));
H(ind)=H(ind)-pi*4/3;
G(ind)=I(ind).*(1.0-S(ind));
B(ind)=I(ind).*(1.0+S(ind).*cos(H(ind))./cos(pi/3.0-H(ind)));
R(ind)=1.0-(G(ind)+B(ind));
hsi_rgb=cat(3,R,G,B);
imshow(hsi_rgb);
diff=(abs(hsi_rgb-rgb_filtered));
imshow(diff);
实验结果如下:
R分量G分量
B分量原始彩色图像
R分量平滑G分量平滑
B分量平滑三分量平滑合成
H分量S分量
I分量I分量平滑
仅I分量平滑RGB两种结果之差
实验结果分析:
从实验结果可以看出:
用两种方法对图像进行平滑所得结果不完全相同。
3.彩色图像的两种锐化滤波
对图像实行锐化滤波的方法有两种
(1)彩色图像用传统的Laplacian分别锐化R、G、B3个分量图像,再对锐化后的分量图像合成。
(2)将RGB图像转换到HSI模型,仅对强度分量I进行锐化处理,而保持色度和饱和度分量不变,再将其转换到RGB空间进行显示。
最后可计算两种锐化滤波的差。
在RGB彩色系统中,向量c的Laplacian变换为
可以通过分别计算每一分量图像的Laplacian去计算全彩色图像的Laplacian。
%彩色图像的锐化
lapMatrix=[111;
1-81;
111];
fR_filtered=imfilter(fR,lapMatrix,'
replicate'
fG_filtered=imfilter(fG,lapMatrix,'
fB_filtered=imfilter(fB,lapMatrix,'
rgb_tmp=cat(3,fR_filtered,fG_filtered,fB_filtered);
rgb_filtered=imsubtract(rgb,rgb_tmp);
tmp1=0.5*((fB-fG)+(fR-fB));
I=imfilter(I1,lapMatrix,'
%I分量锐化
R分量G分量
R分量锐化G分量锐化
B分量锐化三分量锐化合成
I分量I分量锐化
两种方法对图像进行锐化所得结果不完全相同。
4.彩色图像的边缘检测
原理:
令r,g,b是RGB彩色空间沿R,G,B轴的单位向量,可定义向量为
数量
定义为这些向量的点乘,如下所示:
利用该表示法,c(x,y)的最大变化率方向可以由角度给出:
(x,y)点在θ方向上变化率的幅值由下式给出:
rgb=imread('
chaopao.jpg'
%边缘检测
sob=fspecial('
sobel'
%输出彩色原图
Rx=imfilter(double(rgb(:
1)),sob,'
Ry=imfilter(double(rgb(:
Gx=imfilter(double(rgb(:
2)),sob,'
Gy=imfilter(double(rgb(:
Bx=imfilter(double(rgb(:
3)),sob,'
By=imfilter(double(rgb(:
gxx=Rx.^2+Gx.^2+Bx.^2;
gyy=Ry.^2+Gy.^2+By.^2;
gxy=Rx.*Ry+Gx.*Gy+Bx.*By;
theta=0.5*(atan(2*gxy./(gxx-gyy+eps)));
G1=0.5*((gxx+gyy)+(gxx-gyy).*cos(2*theta)+2*gxy.*sin(2*theta));
theta=theta+pi/2;
G2=0.5*((gxx+gyy)+(gxx-gyy).*cos(2*theta)+2*gxy.*sin(2*theta));
G1=G1.^0.5;
G2=G2.^0.5;
rgb_gradiant=mat2gray(max(G1,G2));
imshow(rgb_gradiant);
%向量梯度边缘
通过对彩色图像向量梯度计算,根据向量梯度的幅值检测边缘,能够很好的提取出汽车的边缘。
5.彩色图像直方图处理:
在灰度图像处理中,直方图均衡自动的确定一种变换,该变换试图产生具有均匀的灰度值的直方图。
由于彩色图像是由多个分量组成的,所以,必须考虑适应多于一个分量的直方图的灰度级技术。
而独立地进行彩色图像分量的直方图均衡通常是不可取得,这将产生不正确的色彩,一个更符合逻辑的方法是均匀的扩展彩色强度,而保留彩色本身(即色调饱和度)不变。
下面程序将会呈现这两种方法的对比:
rgb1=im2double(rgb);
r=rgb1(:
g=rgb1(:
b=rgb1(:
I1=(r+g+b)/3;
tmp1=min(min(r,g),b);
tmp2=r+g+b;
tmp1=0.5*((r-g)+(r-b));
tmp2=sqrt(((r-g).^2+(r-b).*(g-b)));
H1(b>
g)=2*pi-H1(b>
g);
I=histeq(I1);
%对图像I1进行均衡化
%均衡化结果
hsi=cat(3,H1,S,I);
H=hsi(:
1)*2*pi;
S=hsi(:
I=hsi(:
imhist(I1);
%I分量直方图
imhist(I);
%I分量直方图均衡化后直方图
R=zeros(size(hsi,1),size(hsi,2));
G=zeros(size(hsi,1),size(hsi,2));
B=zeros(size(hsi,1),size(hsi,2));
RGB=cat(3,R,G,B);
imshow(rgb1);
%RGB原图像
imshow(RGB);
%对I分量均衡化后的彩色图像转换成拥有显示的RGB图像
H分量I分量
I分量直方图均衡化后结果I分量直方图
S分量I分量直方图均衡化后直方图
RGB原图对I分量均衡化后的色彩图像转化成拥有显示的RGB图像
其强度分量I的范围值归一化后为[0,1]。
正如在处理前强度分量I直方图中看到的,强度分布还是比较宽的。
只对强度I均衡化处理而不改变图像的色调H和饱和度值S,将其结果转换到RGB空间,从显示的图像上可以看出,它的确影响啦整体图像的彩色感官。
6.RGB彩色空间分割:
imshow(r);
imshow(g);
imshow(b);
r1=r(129:
256,86:
170);
r1_u=mean(mean(r1(:
)));
[m,n]=size(r1);
sd1=0.0;
fori=1:
m
forj=1:
n
sd1=sd1+(r1(i,j)-r1_u)*(r1(i,j)-r1_u);
end
end
r1_d=sqrt(sd1/(m*n));
r2=zeros(size(rgb1,1),size(rgb1,2));
ind=find((r>
r1_u-1.25*r1_d)&
(r<
r1_u)+1.25*r1_d);
r2(ind)=1;
imshow(r2);
参考文献:
(1)数字图像处理及MATLAB实现,电子工业出版社,杨杰。
(2)数字图像处理及MATLAB实现—学习与实验指导,电子工业出版社,杨杰。
(3)刘维一,于德月,王肇圻等.用迭代法消除数字图像放大后
的模糊[J].光电子激光,2002,13(4):
398~400.
(4)陶洪.数字共焦显微技术及其图像复原算法研究四川大学
硕士学位论文[D].CNKI:
:
CDMD:
10610.2.2003.6632.
(5)罗军辉,冯平等.MATLAB7.0在图像处理中的应用[M].北
京:
机械工业出版社,2006:
202~204,257~278.