数字图像实验源程序及实验结果文档格式.docx
- 文档编号:18028235
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:16
- 大小:711.46KB
数字图像实验源程序及实验结果文档格式.docx
《数字图像实验源程序及实验结果文档格式.docx》由会员分享,可在线阅读,更多相关《数字图像实验源程序及实验结果文档格式.docx(16页珍藏版)》请在冰豆网上搜索。
通过这次MATLAB实验,我们学会对获取图像进行简单的处理,如,输入输出图像,对图像进行去彩,泛白,直方图等基本操作。
了解了MATLAB工具的基本用途,对这一图像处理软件有了一定的认识。
了解了一下MATLAB软件所包括的函数,方便更好的学习软件。
实验二
一、图像加噪去噪实验
1.实验目的:
利用中值滤波和均值滤波对有噪声的图像进行去噪处理。
2.实验内容:
将原始图像,加噪图像和去噪图像同时显示,以便比较。
3.实验程序
I0=imread('
\meitu_00001_.bmp'
I=rgb2gray(I0);
%?
?
subplot(2,2,1),imshow(I);
f=imnoise(I,'
salt&
pepper'
0.04);
subplot(2,2,2),imshow(f);
¨
´
¡
§
h=1/16.*[121;
242;
121];
g=filter2(h,f);
k=medfilt2(f);
subplot(2,2,3),imshow(g,[]);
subplot(2,2,4),imshow(k);
4.实验结果
二、图像锐化处理实验
利用拉普拉斯运算使模糊图像变得清晰
采用梯度法和拉普拉斯算子分别对上述模糊图像进行锐化,并进行定性比较。
将原始图像,模糊图,锐化后的图像同时显示出来,以便比较。
3.实验程序
[m,n]=size(I);
j=dct2(I);
j(1:
m,round(n/12):
n)=0;
j(round(m/12):
m,1:
round(n/12))=0;
k=idct2(j);
subplot(2,2,2),imshow(k,[0255]);
%roberts
rob=edge(k,'
roberts'
0.9);
subplot(2,2,3),imshow(rob,[0255]);
%laplacian
h=[0-10;
-15-1;
0-10];
l=imfilter(k,h);
subplot(2,2,4),imshow(l,[0255]);
4.实验结果
三、图像边缘检测实验
1.实验目的
利用不同算子,对图像边缘进行检测。
2.实验内容
给定图像Lena.bmp,用Sobel、Robert和Laplacian算子进行边缘检测。
把原始图像,用三种算子进行边缘检测后的图像同时显示出来,以供比较。
rob=edge(I,'
0.07);
subplot(2,2,2),imshow(rob);
sb=edge(I,'
sobel'
subplot(2,2,3),imshow(sb);
Â
®
Laplacian¡
À
¬
-14-1;
l=imfilter(I,h);
lp=imadjust(l,[0.00.25],[]);
subplot(2,2,4),imshow(lp);
通过这次实验,首先我们做了采用中值滤波对图像进行去噪,加噪处理。
然后又做了拉普拉斯算法使模糊的图像变的清晰。
最后就用各种算子对源图像进行了边缘检测,使我们对算子有了进一步的了解。
使我们对软件的功能更加掌握。
实验三图像压缩实验:
学会利用一种算法进行数据压缩,增进对图像压缩理论的感性认识。
利用Matlab软件编写函数实现数字图像压缩,并统计分析压缩处理算法所能够实现的压缩比及解压图像和原始图像间的均方根误差。
3.实验要求
实验采用获取的图像,该图像每象素由8比特表示。
具体要求如下:
(1)输入图像采用实验1所获取的图像,编码方式任选。
(2)统计压缩比:
压缩前的文件大小与压缩后的文件大小之比。
小波变换
II=imread('
i=rgb2gray(II);
I=im2double(i);
%Í
¼
Ï
ñ
æ
¢
à
Ð
Í
×
ª
»
title('
Ô
Ê
'
disp('
Ñ
¹
Ë
õ
Ç
°
µ
Ä
ó
whos('
I'
[c,s]=wavedec2(I,2,'
bior3.7'
%¶
Ó
Ã
²
½
ø
ã
·
Ö
â
cal=appcoef2(c,s,'
1);
%Ì
á
È
Ò
Æ
Ê
ý
º
¸
ß
ch1=detcoef2('
h'
c,s,1);
%Ë
ò
cv1=detcoef2('
v'
%´
±
cd1=detcoef2('
d'
%Ð
a1=wrcoef2('
a'
c,s,'
h1=wrcoef2('
v1=wrcoef2('
d1=wrcoef2('
%¸
÷
³
É
Ø
c1=[a1,h1;
v1,d1];
subplot(2,2,2),imshow(c1);
%Ï
¾
Å
%½
%±
£
Á
ô
Ú
%Ê
¶
¿
¯
ë
ca1=appcoef2(c,s,'
ca1=wcodemat(ca1,440,'
mat'
0);
ca1=0.5*ca1;
ca1=round(ca1);
subplot(2,2,3),image(ca1);
Î
ca1'
)
ca2=appcoef2(c,s,'
2);
ca2=wcodemat(ca2,440,'
ca2=0.25*ca2;
ca2=round(ca2);
subplot(2,2,4),image(ca2);
þ
ca2'
179208/2457600
结果
压缩前图像的大小
NameSizeBytesClassAttributes
I480x6402457600double
第一次压缩后图像的大小为
ca1247x327646152double
第二次压缩后图像的大小为:
ca2131x171179208double
ans=
0.0729
>
4.实验总结
我们学习了傅里叶变换,DCT变换,小波变换等。
在这次实验中,采用了小波变换对图像进行压缩。
观察了压缩俩次后的不同图像,增进对图像压缩理论的感性认识,使我们对图像压缩有了很深刻的认识,更好的理解。
实验四图像复原实验:
利用反向滤波和维纳滤波进行降质图像复原,比较不同参数选择对复原结果的影响。
(1)利用反向滤波方法进行图像复原;
(2)利用维纳滤波方法进行图像复原。
(1)输入图像采用实验1所获取的图像,对输入图像采用运动降质模型,如下式所示
与降质图像相关的参数是:
;
(2)对每一种方法通过计算复原出来的图像的峰值信噪比,进行最优参数的选择,包括反向滤波方法中进行复原的区域半径
、维纳方法中的噪声对信号的频谱密度比值K;
(3)将降质图像和利用最优参数恢复后的图像同时显示出来,以便比较。
4.实验程序及实验结果
(1)利用反向滤波方法进行图像复原;
i=rgb2gray(I0);
subplot(2,2,1),imshow(I),title('
原图'
K=fft2(I);
H=K;
j=sqrt(-1);
foru=1:
m
forv=1:
n
H(u,v)=5*sin(pi*(u+v))*exp(-j*pi*(u+v))/(pi*(u+v));
end
end
G=H.*K;
P0=ifft2(G);
subplot(2,2,2),imshow(P0),title('
降质图像'
F=G./H;
f=ifft2(F);
subplot(2,2,3),imshow(f),title('
逆滤波图像'
mse=0;
b=(f(u,v)-I(u,v))*(f(u,v)-I(u,v));
mse=mse+b;
mse=mse/(m*n);
mse=sqrt(mse);
psn=log10(255/mse)
psn=
18.1832-0.0006i
imshow(I0);
H=fspecial('
motion'
30,90);
I=imfilter(I0,H,'
replicate'
模糊'
wnrl=deconvwnr(I,H);
subplot(2,2,3),imshow(wnrl),title('
维纳滤波'
由于图像会因为各种原因产生退化,所以就需要对图像进行复原。
在这个实验中我们利用反向滤波和维纳滤波进行降质图像复原,直观的看到了俩种不同的图像复原方法对图像复原后所产生的不同效果。
对比他们的参数,了解到了俩种图像复原方法的不同复原结果。
实验五图像分割处理实验:
(1)了解图像分割的基本原理,并利用图像分割算法进行图像分割处理;
(2)掌握数学形态学的基本运算。
(1)利用类间方差阈值算法实现图像的分割处理;
(2)利用形态学处理进行处理结果修正。
(1)实验用图为实验一中的图像;
(2)对输入图像进行平滑处理,以减小噪声对分割处理的影响;
(3)利用类间方差阈值算法对滤波处理后图像进行分割处理,获取分割图像;
(4)利用数学形态学中的腐蚀和膨胀运算处理,剔除分割处理结果中的一些细小的残余误分割点,在进行腐蚀和膨胀运算时可采用半径为r的圆形结构元素,注意比较选取不同r值时的处理结果。
(可留到最后一次上机的时候进行)
4.实验程序
I1=rgb2gray(I0);
k=medfilt2(I1);
subplot(3,2,1),imshow(k),title('
midle'
subplot(3,2,2),imhist(k);
T=90;
S=size(k);
[maxI,maxP]=max(k(:
:
));
[minI,minP]=min(k(:
fori=1:
S
(1)
forj=1:
S
(2)
ifk(i,j)>
=Tk(i,j)=255;
elsek(i,j)=0;
subplot(3,2,3),imshow(k);
5.实验结果
6.实验总结
了解图像分割的基本原理:
按照一定的规则将一副图像或景物分成若干部分或子集的过程。
图像分割的方法有:
边界分割,边缘检测,边缘跟踪,HOUGH变换,区域分割,阈值分割,区域分裂与合并,自适应。
我们在这里采用了类间方差阈值算法对图像进行分割,还采用了图像腐蚀对图像进行缩小,显示直方图。
实验六彩色空间的表示和转换
1.实验目的
了解颜色空间的基本概念及转换原理。
能用MATLAB工具箱和本章提供的有关公式,在RGB、YIQ、HSV等颜色空间中读取、显示彩色图像。
2.实验内容
利用MATLAB图像处理工具箱中现有的函数在不同的颜色空间中读取、显示颜色图像。
根据转换公式,自己编制其他颜色空间转换函数,在该空间中读取、显示彩色图像。
3.实验报告要求
说明利用MATLAB图像处理工具箱读写和显示图像文件。
了解几种
常用颜色空间的概念。
记录读取变换后的图像。
列出上述图像处理的程序。
心得体会。
4.
实验程序:
RGB=imread('
subplot(221),imshow(RGB);
subplot(222),imshow(RGB(:
1));
ì
«
subplot(223),imshow(RGB(:
2));
Ì
subplot(224),imshow(RGB(:
3));
5.实验结果
6.实验总结
本实验在RGB颜色空间中进行,对不同的颜色图像进行了显示。
但是由于对图像的选取有些问题,使的图像显示结果不是很明显。
所以,做在颜色空间显示的实验中,我们需要选取一些色彩鲜艳的,明亮的图像来进行读取。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字图像 实验 源程序 结果