ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:23.13KB ,
资源ID:535540      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-535540.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数字图像处理实验报告全答案.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

数字图像处理实验报告全答案.docx

1、数字图像处理实验报告全答案实验一 常用MATLAB图像处理命令一、实验目的 1、熟悉并掌握MATLAB工具的使用;2、实现图像的读取、显示、代数运算和简单变换。二、实验环境MATLAB 6.5以上版本、WIN *P或WIN2000计算机三、常用函数读写图像文件1 imread imread函数用于读入各种图像文件,如:a=imread(e:w01.tif) 2 imwrite imwrite函数用于写入图像文件,如:imwrite(a,e:w02.tif,tif)3 imfinfo imfinfo函数用于读取图像文件的有关信息,如:imfinfo(e:w01.tif)图像的显示1image i

2、mage函数是MATLAB提供的最原始的图像显示函数,如: a=1,2,3,4;4,5,6,7;8,9,10,11,12; image(a);2 imshow imshow函数用于图像文件的显示,如: i=imread(e:w01.tif);imshow(i);title原图像%加上图像标题3 colorbar colorbar函数用显示图像的颜色条,如: i=imread(e:w01.tif); imshow(i); colorbar;4 figurefigure函数用于设定图像显示窗口,如:figure(1); /figure(2);5 subplot 把图形窗口分成多个矩形局部,每个局部

3、可以分别用来进展显示。Subplotm,n,p分成m*n个小窗口,在第p个窗口中创立坐标轴为当前坐标轴,用于显示图形。6 plot绘制二维图形plotyPlot*,y*y可以是向量、矩阵。图像类型转换1 rgb2gray/灰色把真彩图像转换为灰度图像i=rgb2grayj2 im2bw/黑白通过阈值化方法把图像转换为二值图像I=im2bwj,levelLevel表示灰度阈值,取值围01即0.n,表示阈值取自原图像灰度围的n%3 imresize改变图像的大小I=imresizej,m n将图像j大小调整为m行n列图像运算1 imadd两幅图像相加,要求同样大小,同种数据类型Z=imadd*,y

4、表示图像*+y2 imsubstract两幅图像相减,要求同样大小,同种数据类型Z=imsubtract*,y 表示图像*-y3 immultiplyZ=immultiply*,y 表示图像*y4 imdivideZ=imdivide*,y 表示图像*/y5:m = imadjust(a,0.5;1) ;%图像变亮n = imadjust(a,0;0.5) ;%图像变暗g=255-a;%负片效果四、实验容请将实验程序填写在下方适宜的位置,实验图像结果拷屏粘贴1、读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口分成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题。a=imrea

5、d(f:1.jpg)i = rgb2gray(a)I = im2bw(a,0.5)subplot(3,1,1);imshow(a);title(原图像)subplot(3,1,2);imshow(i);title(灰度图像)subplot(3,1,3);imshow(I);title(二值图像) 2、对两幅不同图像执行加、减、乘、除操作,在同一个窗口分成五个子窗口来分别显示,注上文字标题。a=imread(f:1.jpg)A=imresize(a,800 800)b=imread(f:2.jpg)B=imresize(b,800 800)Z1=imadd(A,B)Z2=imsubtract(A

6、,B)Z3=immultiply(A,B)Z4=imdivide(A,B)subplot(3,2,1); imshow(A);title(原图像A)subplot(3,2,2); imshow(B);title(原图像B)subplot(3,2,3); imshow(Z1);title(加法图像)subplot(3,2,4); imshow(Z2);title(减法图像)subplot(3,2,5); imshow(Z3);title(乘法图像)subplot(3,2,6); imshow(Z2);title(除法图像)3、对一幅图像进展灰度变化,实现图像变亮、变暗和负片效果,在同一个窗口分成

7、四个子窗口来分别显示,注上文字标题。a=imread(f:1.jpg);m = imadjust(a,0.5;1) ;%图像变亮n = imadjust(a,0;0.5) ;%图像变暗g=255-a;%负片效果subplot(2,2,1);imshow(a);title(原图像)subplot(2,2,2);imshow(m);title(图像变亮)subplot(2,2,3);imshow(n);title(图像变暗) subplot(2,2,4);imshow(g);title(负片效果) 4、熟悉数字图像处理常用函数的使用,调出帮助文档查看其各种不同用法。方法:选择函数函数所在区变暗,点

8、右键弹出菜单,选择“Help on Selection五、实验总结分析图像的代数运算结果,分别述图像的加、减、乘、除运算可能的应用领域。实验四 常用图像增强方法一、实验目的 1、熟悉并掌握MATLAB图像处理工具箱的使用;2、理解并掌握常用的图像的增强技术。二、实验环境MATLAB 6.5以上版本、WIN *P或WIN2000计算机三、相关知识1 imnoise imnoise函数用于对图像生成模拟噪声,如: i=imread(e:w01.tif);j=imnoise(i,gaussian,0,0.02);模拟均值为0方差为0.02的高斯噪声,j=imnoise(i,salt&pepper,

9、0.04) 模拟叠加密度为0.04的椒盐噪声 2 fspecialfspecial函数用于产生预定义滤波器,如: h=fspecial(sobel);%sobel水平边缘增强滤波器 h=fspecial(gaussian);%高斯低通滤波器 h=fspecial(laplacian);%拉普拉斯滤波器 h=fspecial(log);%高斯拉普拉斯LoG滤波器 h=fspecial(average);%均值滤波器3 基于卷积的图像滤波函数imfilter函数,filter2函数,二维卷积conv2滤波,都可用于图像滤波,用法类似,如: i=imread(e:w01.tif); h=1,2,1;

10、0,0,0;-1,-2,-1;%产生Sobel算子的水平方向模板j=filter2(h,i);或者:h = fspecial(prewitt)I = imread(cameraman.tif);imshow(I); H = fspecial(prewitt); %预定义滤波器M = imfilter(I,H);imshow(M)或者: i=imread(e:w01.tif); h=1,1,1;1,1,1;1,1,1; h=h/9; j=conv2(i,h);4其他常用滤波举例1中值滤波 medfilt2函数用于图像的中值滤波,如: i=imread(e:w01.tif); j=medfilt2

11、(i,M N);对矩阵i进展二维中值滤波,领域为M*N,缺省值为3*3 2利用拉氏算子锐化图像, 如: i=imread(e:w01.tif); j=double(i); h=0,1,0;1,-4,0;0,1,0;%拉氏算子k=conv2(j,h,same);三、实验步骤1、采用二维中值滤波函数medfilt2对受椒盐噪声干扰的图像滤波,窗口分别采用3*3,5*5,7*7I = imread(f:lena.png);J = imnoise(I,salt & pepper,0.04);K1 = medfilt2(J,3 3);%对矩阵i进展二维中值滤波,领域为3*3 K2 = medfilt2(

12、J,5 5);K3 = medfilt2(J,7 7);subplot(2,2,1);imshow(J);title(椒盐噪声干扰图像)subplot(2,2,2);imshow(K1);title(领域为3*3二维中值滤波)subplot(2,2,3);imshow(K2);title(领域为5*5二维中值滤波) subplot(2,2,4);imshow(K3);title(领域为7*7二维中值滤波) 2、采用MATLAB中的函数filter2对受噪声干扰的图像进展均值滤波I = imread(f:lena.png);j=imnoise(i,gaussian,0,0.02);%模拟均值为0

13、方差为0.02的高斯噪声,M= filter2(fspecial(average,9),J)/255; %模板尺寸为9subplot(2,1,1);imshow(j);title(噪声干扰图像)subplot(2,1,2);imshow(M);title(改良后的图像)3、采用三种不同算子对图像进展锐化处理。i=imread(f:1.jpg)I=rgb2gray(s)H=fspecial(sobel)%应用Sobel算子锐化图像I1=filter2(H,I)%Sobel算子滤波锐化H=fspecial(prewitt)%应用prewitt算子锐化图像I2=filter2(H,I)%prewit

14、t算子滤波锐化H=fspecial(log)%应用log算子锐化图像I3=filter2(H,I)%log算子滤波锐化subplot(2,2,1);imshow(i);title(原图像)subplot(2,2,2);imshow(I1);title(Sobel算子锐化图像)subplot(2,2,3);imshow(I2);title(prewitt算子锐化图像) subplot(2,2,4);imshow(I3);title(log算子锐化图像) 四、实验总结1、比拟不同平滑滤波器的处理效果,分析其优缺点2、比拟不同锐化滤波器的处理效果,分析其优缺点实验五 图像恢复和图像分割一、实验目的

15、1、熟悉并掌握MATLAB图像处理工具箱的使用;2、理解并掌握常用的图像的恢复和分割技术。二、实验环境MATLAB 6.5以上版本、WIN *P或WIN2000计算机三、相关知识1 deconvwnr维纳滤波,用法:J = deconvwnr(I,PSF,NSR) 用维纳滤波算法对图片I进展图像恢复后返回图像J。 I是一个N维数组。PSF是点扩展函数的卷积。NSP是加性噪声的噪声对信号的功率比。如:I = im2double(imread(cameraman.tif); imshow(I); title(Original Image ); %模拟运动模糊 LEN = 21; THETA = 1

16、1; PSF = fspecial(motion, LEN, THETA); blurred = imfilter(I, PSF, conv, circular); figure, imshow(blurred) %恢复图像 wnr2 = deconvwnr(blurred_noisy, PSF); figure, imshow(wnr2) title(Restoration of Blurred) 2 edge 检测灰度或者二值图像的边缘,返回一个二值图像,1像素是检测到的边缘,0像素是非边缘。用法:BW = edge(I,sobel,thresh,direction),I为检测对象;边缘检

17、测算子可用sobel,roberts,prewitt,zerocross,log,canny;thresh指定阈值,检测时忽略所有小于阈值的边缘,默认自动选择阈值;direction方向,在所指定的方向direction上,用 算子进展边缘检测horizontal(水平方向)、vertical(垂直方向)或both(两个方向)。如:I = imread(circuit.tif); BW1 = edge(I,prewitt); imshow(BW1); 3 strel创立形态学构造元素。用法:SE = STREL(arbitrary,NHOOD,HEIGHT) 创立一个指定领域的非平面构造化元素

18、。HEIGHT是一个矩阵,大小和NHOOD一样,他指定了NHOOD中任何非零元素的高度值。SE = STREL(ball,R,H,N) 创立一个空间椭球状的构造元素,其*-Y平面半径为R,高度为H。R必须为非负整数,H是一个实数。N必须为一个非负偶数。当N0时此球形构造元素由一系列空间线段构造元素来近似。SE = STREL(diamond,R) 创立一个指定大小R平面钻石形状的构造化元素。R是从构造化元素原点到其点的距离,必须为非负整数。SE = STREL(disk,R,N) 创立一个指定半径R的平面圆盘形的构造元素。这里R必须是非负整数. N须是0, 4, 6, 8.当N大于0时,圆盘形

19、构造元素由一组N(或N+2)个周期线构造元素来近似。当N等于0时,不使用近似,即构造元素的所有像素是由到中心像素距离小于等于R的像素组成。N可以被忽略,此时缺省值是4。注: 形态学操作在N0情况下要快于N=0的情形。 如:se1 = strel(square,11) % 11乘以11的正方形4 imerode腐蚀图像用法:IM2 = imerode(IM,SE) 腐蚀灰度、二进制或压缩二进制图像 IM ,返回腐蚀图像 IM2 。参数 SE 是函数 strel 返回的一个构造元素体或是构造元素体阵列。如:使用一个盘状构造元素腐蚀一幅二进制图像。 originalBW = imread(circl

20、es.png); se = strel(disk,11); erodedBW = imerode(originalBW,se); imshow(originalBW), figure, imshow(erodedBW) 5 imdilate膨胀图像用法:IM2 = imdilate(IM, SE) 膨胀灰度图像、二值图像、或者打包的二值图像IM,返回膨胀图像M2。变量SE是一个构造元素或者一个构造元素的数组,其是通过strel函数返回的。如:利用一个运行构造元素膨胀灰度图像。 I = imread(cameraman.tif); se = strel(ball,5,5); I2 = imdil

21、ate(I,se); imshow(I), title(Original) figure, imshow(I2), title(Dilated) 三、实验步骤1、产生运动模糊图像,运用维纳滤波进展图像恢复,显示结果。i=imread(f:1.jpg)I=rgb2gray(s)I = im2double(I); %模拟运动模糊LEN = 21;THETA = 11;PSF = fspecial(motion, LEN, THETA); blurred = imfilter(I, PSF, conv, circular);%恢复图像wnr2 = deconvwnr(blurred, PSF); s

22、ubplot(1,2,1);imshow(blurred);title(运动模糊图像) subplot(1,2,2);imshow(wnr2);title(恢复图像)2、采用三种不同算子检测图像边缘,显示结果。i=imread(f:1.jpg)BW1 = edge(I,prewitt); BW2 = edge(I,zerocross);BW3 = edge(I,canny);subplot(2,2,1);imshow(i);title(原图像)subplot(2,2,2);imshow(BW1);title(prewitt边缘图)subplot(2,2,3);imshow(BW2);title

23、(zerocross边缘图) subplot(2,2,4);imshow(BW3);title(canny边缘图) 3、对二值图像分别进展方形模板3*3和5*5的膨胀和腐蚀操作,显示结果。a=imread(f:1.jpg)i = rgb2gray(a)I = im2bw(a,0.5)se3 = strel(disk,3); erodedBW1 = imerode(I,se3); se4 = strel(disk,5); erodedBW2 = imerode(I,se4); se1 = strel(ball,3,3); I1 = imdilate(a,se1); se2 = strel(bal

24、l,5,5); I2 = imdilate(a,se2); subplot(2,2,1);imshow(I1);title(3*3膨胀图像)subplot(2,2,2);imshow(I2);title(5*5膨胀图像)subplot(2,2,3);imshow(erodedBW1);title(3*3腐蚀图像) subplot(2,2,4);imshow(erodedBW2);title(5*5腐蚀图像) 实验六 图像处理实际应用一、实验目的1、熟悉并掌握MATLAB图像处理工具箱的使用;2、理解并掌握常用的图像处理技术。二、实验环境MATLAB 6.5以上版本、WIN *P或WIN2000

25、计算机三、实验容调试运行以下程序,分析程序,对每条语句给出注释,并显示最终执行结果。总结算法思想及优缺点.I=imread(Car.jpg);y,*,z=size(I);myI=double(I);% RGB to HSI %tic % Y 方向 %Blue_y=zeros(y,1);for i=1:y for j=1:* if(myI(i,j,1)=30)&(myI(i,j,2)=51)&(myI(i,j,3)=119) % 蓝色RGB的灰度围 Blue_y(i,1)= Blue_y(i,1)+1; end end endtemp Ma*Y=ma*(Blue_y); % Y方向车牌区域确定P

26、Y1=Ma*Y;while (Blue_y(PY1,1)=5)&(PY11) PY1=PY1-1;end PY2=Ma*Y;while (Blue_y(PY2,1)=5)&(PY2y) PY2=PY2+1;endIY=I(PY1:PY2,:,:);% * 方向 % Blue_*=zeros(1,*); for j=1:* for i=PY1:PY2 if(myI(i,j,1)=30)&(myI(i,j,2)=51)&(myI(i,j,3)=119) Blue_*(1,j)= Blue_*(1,j)+1; end end endP*1=1;while (Blue_*(1,P*1)3)&(P*1*

27、) P*1=P*1+1;end P*2=*;while (Blue_*(1,P*2)P*1) P*2=P*2-1;endP*1=P*1-2; % 对车牌区域的修正P*2=P*2+2;Plate=I(PY1:PY2,P*1-2:P*2,:);t=toc % 读取计时%figure,imshow(I);figure,plot(Blue_y);gridfigure,plot(Blue_*);gridfigure,imshow(IY);添加注释和改正后的程序:I=imread(f:Car.jpg);%读取图片y,*,z=size(I);%给定图片大小myI=double(I);%返回双精度值% RGB

28、 to HSI %tic %计时开场% Y 方向 %Blue_y=zeros(y,1);%一列全零矩阵for i=1:y%给定i的围 for j=1:*%给定j的围 if(myI(i,j,1)=30)&(myI(i,j,2)=51)&(myI(i,j,3)=119) % 蓝色RGB的灰度围 Blue_y(i,1)= Blue_y(i,1)+1; %y矩阵加一 end end endtemp Ma*Y=ma*(Blue_y); % Y方向车牌区域确定PY1=Ma*Y;%y矩阵的最大元素while (Blue_y(PY1,1)=5)&(PY11)%确定蓝色RGB Blue_y所在位置 PY1=PY1-1; %对车牌区域的修正,向上调整end PY2=Ma*Y; %y矩阵的最大元素while (Blue_y(PY2,1)=5)&(PY2y) %确定蓝色RGB Blue_y所在位置 PY2=PY2+1; %对车牌区域的修正向下调整endIY=I(PY1:PY2,:,:);%行的围% * 方向 % Blue_*=zeros(1,*); %一行全一矩阵for j=1:*%给定j的取值围 for i=PY1:PY2%给定i的取值围

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2