数字图像处理实验Word文档下载推荐.docx
- 文档编号:22936719
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:54
- 大小:3.08MB
数字图像处理实验Word文档下载推荐.docx
《数字图像处理实验Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《数字图像处理实验Word文档下载推荐.docx(54页珍藏版)》请在冰豆网上搜索。
<
1)直方图均衡化增强图像对比度的MATLAB程序:
I=imread(‘coins.tif>
。
%读入原图像
J=histeq(I>
%对原图像进行直方图均衡化处理
imshow(I>
%显示原图像
Title(‘原图像’>
%给原图像加标题名
Figure;
imshow(J>
%对原图像进行屏幕控制;
显示直方图均衡化后的图像
Title(‘直方图均衡化后的图像’>
。
%给直方图均衡化后的图像加标题名
Figure。
subplot(1,2,1>
%对直方图均衡化后的图像进行屏幕控制;
作一幅子图作为并排两幅图的
imhist(I,64>
%将原图像直方图显示为64级灰度
Title(‘原图像直方图’>
%给原图像直方图加标题名
Subplot(1,2,2>
%作第2幅子图
imhist(J,64>
%将均衡化后图像的直方图显示为64级灰度
Title(‘均衡变换后的直方图’>
%给均衡化后图像直方图加标题名
处理后的图像直方图分布更均匀了,图像在每个灰度级上都有像素点。
从处理前后的图像可以看出,许多在原始图像中看不清楚的细节在直方图均衡化处理后所得到的图像中都变得十分清晰。
对附录中的练习5-6、进行上机运行和调试
三、实验报告要求
1.技术路线;
2.MATLAB程序;
3.运行结果;
4.心得体会
四、思考题
1.直方图均衡化的目的是使图像直方图尽可能地分布均匀,你有什么改进的思路?
2.对实验中遇到的问题,进行讨论。
实验3、图像的滤波
1实验目的
进一步了解MatLab软件/语言,学会使用MatLab对图像作滤波处理,使学生有机会掌握滤波算法,体会滤波效果。
了解几种不同滤波方式的使用和使用的场合,培养处理实际图像的能力,并为课堂教案提供配套的实践机会。
2实验要求
学生应当完成对于给定图像+噪声,使用平均滤波器、中值滤波器对不同强度的高斯噪声和椒盐噪声,进行滤波处理;
能够正确地评价处理的结果;
能够从理论上作出合理的解释。
3实验设备与软件
(1>
IBM-PC计算机系统
(2>
MatLab软件/语言包括图像处理工具箱(ImageProcessingToolbox>
(3>
实验所需要的图片
4实验内容与步骤
a>
调入并显示原始图像。
b>
利用imnoise命令在图像上加入高斯(gaussian>
噪声
c>
利用预定义函数fspecial命令产生平均(average>
滤波器
-1-1-1
-19-1
d)采用3x3的模板,分别用平均滤波器以及中值滤波器,对加入噪声的图像进行处理并观察不同噪声水平下,上述滤波器处理的结果;
e)选择不同大小的模板,对加入某一固定噪声水平噪声的图像进行处理,观察上述滤波器处理的结果。
f)利用imnoise命令在图像上加入椒盐噪声(salt&
pepper>
g)重复c>
~e)的步骤
h)输出全部结果并进行讨论。
5思考题/问答题
简述高斯噪声和椒盐噪声的特点。
结合实验内容,定性评价平均滤波器/中值滤波器对高斯噪声和椒盐噪声的去噪效果?
结合实验内容,定性评价滤波窗口对去噪效果的影响?
6实验报告要求
描述实验的基本步骤,用数据和图片给出各个步骤中取得的实验结果,并进
行必要的讨论,必须包括原始图像及其计算/处理后的图像。
7源代码
I=imread('
coins.png'
>
J=imnoise(I,'
gauss'
0.02>
%添加高斯噪声
%J=imnoise(I,'
salt&
pepper'
%添加椒盐噪声
K=filter2(fspecial('
average'
3>
J>
/255。
%均值滤波3×
3
L=filter2(fspecial('
5>
%均值滤波5×
5
M=medfilt2(J,[33]>
%中值滤波3×
3模板
N=medfilt2(J,[44]>
%中值滤波4×
4模板
figure,imshow(J>
figure,imshow(K>
figure,imshow(L>
figure,imshow(M>
figure,imshow(N>
对附录中的练习7-8,9,10进行上机运行和调试
实验4、图像变换
1了解图像变换的意义和手段;
2熟悉离散傅里叶变换基本性质;
3熟练掌握图像变换的方法及应用;
4通过实验了解二维频谱的分布特点;
5通过本实验掌握利用MATLAB编程实现数字图像的变换。
1应用各种离散变换进行图像处理
傅里叶变换是线性系统分析的一个有力工具,它能够定量地分析诸如数字化系统、采样点、电子放大器、卷积滤波器、噪音和显示点等的作用。
通过实验培养这项技能,将有助于解决大多数图像处理问题。
对任何想在工作中有效应用数字图像处理技术的人来说,把时间用在学习和掌握博里叶变换上是很有必要的。
2图像变换的基本原理
1)傅立叶<
Fourier)变换的定义
对于二维信号,二维Fourier变换定义为:
二维离散傅立叶变换为:
1)二维离散傅立叶变换
I=imread(‘coins.png’>
%读入原图像文件
fftI=fft2(I>
%二维离散傅立叶变换
sfftI=fftshift(fftI>
%直流分量移到频谱中心
RR=real(sfftI>
%取傅立叶变换的实部
II=imag(sfftI>
%取傅立叶变换的虚部
A=sqrt(RR.^2+II.^2>
%计算频谱幅值
A=<
A-min(min(A>
)/(max(max(A>
-min(min(A>
*225。
%归一化
figure。
%设定窗口
imshow(A>
%显示原图像的频谱
三、实验步骤
1打开计算机,安装和启动MATLAB程序;
程序组中“work”文件夹中应有待处理的图像文件;
2利用MatLab工具箱中的函数编制FFT频谱显示的函数。
3a>
.调入、显示获得的图像;
图像存储格式应为“.gif”。
b>
对这三幅图像做FFT并利用自编的函数显示其频谱。
讨论不同的图像内容与FFT频谱之间的对应关系。
4记录和整理实验报告。
5.对附录中的练习4,11,13进行上机运行和调试。
四、实验报告内容
1叙述实验过程;
2提交实验的原始图像和结果图像。
五、思考题
1.傅里叶变换有哪些重要的性质?
2.图像的二维频谱在显示和处理时应注意什么?
实验5、图像复原
1了解图像复原的意义和手段;
2掌握图像复原的方法及应用;
4通过实验了解图像复原;
5通过本实验掌握利用MATLAB编程实现数字图像的复原。
2实验程序
1读取图像
f=checkerboard(8>
%原始图像
PSF=fspecial('
motion'
7,45>
%退化函数
gb=imfilter(f,PSF,'
circular'
%退化的图像
noise=imnoise(zeros(size(f>
'
gaussian'
0,0.001>
%高斯噪声图像
g=gb+noise。
%退化的图像加噪
%逆滤波
fr1=deconvwnr(g,PSF>
%parametricWienerfiltering(assumenoise-to-signalratioisaveragepowerratio>
Sf=abs(fft2(f>
.^2。
%功率普
fA=sum(Sf(:
/prod(size(f>
%图像的平均谱
Sn=abs(fft2(noise>
.^2。
%噪声功率谱
nA=sum(Sn(:
/prod(size(noise>
%求噪声的功率谱。
R=nA/fA。
fr2=deconvwnr(g,PSF,R>
%parametricWienerfilteringbyautocorrelationfunctions
NCORR=fftshift(real(ifft2(Sn>
ICORR=fftshift(real(ifft2(Sf>
fr3=deconvwnr(g,PSF,NCORR,ICORR>
subplot(221>
imshow(g,[]>
title('
degradedimage'
subplot(222>
imshow(fr1,[]>
directinversefilteredimage'
subplot(223>
imshow(fr2,[]>
parametricWienerfilteringusingpowerratio'
subplot(224>
imshow(fr3,[]>
parametricWienerfilteringusingautocorrelationratio'
3实验报告内容
实验6、图像分割
1、实验目的
1、使学生通过实验体会一些主要的分割算子对图像处理的效果,以及各种因素对分割效果的影响;
2、使用MatLab软件进行图像的分割;
3、能够自行评价各主要算子在无噪声条件下和噪声条件下的分割性能;
4、能够掌握分割条件(阈值等>
的选择;
5、完成规定图像的处理并要求正确评价处理结果,能够从理论上作出合理的解释。
2、实验原理
使用Roberts算子的图像分割实验,调入并显示一幅图像*.gif或*.tif;
使用Roberts算子对图像进行边缘检测处理;
Roberts算子为一对模板,相应的矩阵为:
rh=[01。
-10]。
rv=[10。
0-1]。
这里的rh为水平Roberts算子,rv为垂直Roberts算子。
可以显示处理后的水平边界和垂直边界检测结果;
用“欧几里德距离”和“街区距离”方式计算梯度的模,显示检测结果;
对于检测结果进行二值化处理,并显示处理结果。
先做检测结果的直方图,参考直方图中灰度的分布尝试确定阈值;
应反复调节阈值的大小,直至二值化的效果最为满意为止分别显示处理后的水平边界和垂直边界检测结果;
将处理结果转化为“白底黑线条”的方式;
给图像加上零均值的高斯噪声。
)
使用Prewitt算子的图像分割实验
使用Prewitt算子进行内容(1>
中的全部步骤。
使用Sobel算子的图像分割实验,使用Sobel算子进行内容(1>
(4>
使用LoG(拉普拉斯-高斯>
算子的进行图像分割实验。
5)使用Canny算子的进行图像分割实验。
作图像分割实验的MATLAB程序语句如下:
I=imread(‘circuit.tif’>
BW1=edge(I,‘roberts’>
BW2=edge(I,‘prewitt’>
BW3=edge(I,‘sobel’>
BW4=edge(I,‘log’>
BW5=edge(I,‘canny’>
Figure,imshow(BW1,[]>
Figure,imshow(BW2,[]>
Figure,imshow(BW3,[]>
Figure,imshow(BW4,[]>
Figure,imshow(BW5,[]>
3、实验步骤
1打开计算机,启动MATLAB程序;
2调入“实验一”中获取的数字图像,并进行图像分割处理;
3记录和整理实验报告
4、实验报告内容
5、思考题
1.评价一下Roberts算子、Prewitt算子、Sobel算子对于噪声条件下边界检测的性能。
2.为什么LoG梯度检测算子的处理结果不需要象Prewitt等算子那样进行幅度组合?
3.实验中所使用的四种算子所得到的边界有什么异同?
实验7:
形态学处理、图像分割<
验证性实验)
要求学生掌握形态学处理、图像分割基本方法,掌握相关的MATLAB函数。
二、实验内容:
1)对附录中的练习15~24、练习26、练习28~29,进行上机运行和调试。
2)对上述练习,改变一些函数的参数,观察运行结果的变化。
可以是对某些MATLAB函数如何使用的认识,也可以是学生的实验后的心得体会。
1)在形态学处理中,结构元选取的原则是什么?
举例说明。
2)对实验中遇到的问题,进行讨论。
8.图像压缩与编码
要求学生掌握图像压缩的DCT变换基本方法,掌握相关的MATLAB函数。
1)对本实验的后面程序进行上机运行和调试。
程序1
cameraman.tif'
%该图片在安装matlab的目录中找,原图为灰度图象
I=im2double(I>
%图像存储类型转换
T=dctmtx(8>
%离散余弦变换矩阵
B=blkproc(I,[88],'
P1*x*P2'
T,T'
%对原图像进行DCT变换
mask=[11110000
11100000
11000000
10000000
00000000
00000000]。
B2=blkproc(B,[88],'
P1.*x'
mask>
%数据压缩,丢弃右下角高频数据
I2=blkproc(B2,[88],'
T'
T>
%进行DCT反变换,得到压缩后的图像
原始图像'
imshow(I2>
压缩后的图像'
程序2
一个利用自己编写的DCT压缩
clear
orig_img=((imread('
circuit.tif'
%readimage
orig_img=double(imresize(orig_img,[256256]>
%theimagebecomes256*256
%imagematrixwasstoredinvariableX
%imagecolormapisstoredinvariablemap
quant_multiple=1。
%setthemultipliertochangesizeofquant.levels
%(fractionsdecreasedistortion>
%varyquant_multfrom.1to3(seejpeg.resultsfile>
blocksize=8。
%setthesizeofchunkstotaketheDCTof(=<
8>
DCT_quantizer=...%levelsforquantizingtheDCTblock(8x8matrix>
[1611101624405161。
...
1212141926586055。
1413162440576956。
1417222951878062。
182237566810910377。
243555648110411392。
49647887103121120101。
7292959811210010399]。
sz=size(orig_img>
rows=sz(1,1>
%therowsofimages
cols=sz(1,2>
colors=max(max(orig_img>
%guessatthenumberofcolorsintheimage
%Introduction
fprintf(1,'
Imageused:
circuit\n'
Itssizeis:
%dx%d\n'
rows,cols>
Numberofcolors(guess>
:
%d\n'
colors>
DCTblocksize:
blocksize,blocksize>
Quant.sizemultiplier:
quant_multiple>
%Displaytheoriginalimage
figure(1>
imshow(orig_img,[0,255]>
Originalimage'
figure(2>
%Prepareimagefortransform
%Level-shifttheimage(centerintensityvaluesaround0>
orig_img=orig_img-ceil(colors/2>
%Replicateedgesofimagetomakeitsdimensionsamultipleofblocksize
pad_cols=(1-(cols/blocksize-floor(cols/blocksize>
*blocksize。
ifpad_cols==blocksize,pad_cols=0。
end
pad_rows=(1-(rows/blocksize-floor(rows/blocksize>
ifpad_rows==blocksize,pad_rows=0。
forextra_cols=1:
pad_cols
orig_img(1:
rows,cols+extra_cols>
=orig_img(1:
rows,cols>
end
cols=cols+pad_cols。
%orig_imgisnowpad_colswider
forextra_rows=1:
pad_rows
orig_img(rows+extra_rows,1:
cols>
=orig_img(rows,1:
rows=rows+pad_rows。
%orig_imgisnowpad_rowstaller
%calculatetheDCTtransformmatrix
%(frompage336oftheIntrotoDataCompressionbook>
i=0。
forj=0:
blocksize-1
DCT_trans(i+1,j+1>
=sqrt(1/blocksize>
*cos((2*j+1>
*i*pi/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字图像 处理 实验
![提示](https://static.bdocx.com/images/bang_tan.gif)