![《数字图像处理》实验指导书(2011版)_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-1/6/5fb8b973-3da5-4c0d-9085-d7a6c55c2a8d/5fb8b973-3da5-4c0d-9085-d7a6c55c2a8d1.gif)
![《数字图像处理》实验指导书(2011版)_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-1/6/5fb8b973-3da5-4c0d-9085-d7a6c55c2a8d/5fb8b973-3da5-4c0d-9085-d7a6c55c2a8d2.gif)
![《数字图像处理》实验指导书(2011版)_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-1/6/5fb8b973-3da5-4c0d-9085-d7a6c55c2a8d/5fb8b973-3da5-4c0d-9085-d7a6c55c2a8d3.gif)
![《数字图像处理》实验指导书(2011版)_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-1/6/5fb8b973-3da5-4c0d-9085-d7a6c55c2a8d/5fb8b973-3da5-4c0d-9085-d7a6c55c2a8d4.gif)
![《数字图像处理》实验指导书(2011版)_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-1/6/5fb8b973-3da5-4c0d-9085-d7a6c55c2a8d/5fb8b973-3da5-4c0d-9085-d7a6c55c2a8d5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数字图像处理(MATLAB版)实验指导书 数字图像处理(MATLAB版)实验指导书(2011版)目 录说 明实验一 Matlab图像处理基础1.图像的读写2.图像显示实验二 图像运算1.图像点运算2.图像的代数运算3.图像的几何运算4.*图像的邻域操作实验三 灰度变换增强1.线段上像素灰度分布2.直方图变换实验四 空域滤波增强1.噪声模拟2.均值滤波和中值滤波3.空域滤波实验五 空间变换1.图像极值的处理方法2.*创建一幅图像,求其距离矩阵。3.*使用伪彩色显示标记矩阵。4.利用选择控制点实现图像匹配。实验六 图像变换与滤波器设计1.傅立叶变换2.离散余弦变换(DCT)3.Radon变换4.*
2、Matlab线形滤波器设计实验七 形态学操作1.图像膨胀2.图像腐蚀3.膨胀与腐蚀的综合使用4.*高帽与低帽变换实验八 图像复原1.模糊与噪声2.维纳滤波复原实验九 图像分析与理解及图像压缩1.图像分析与理解2.图像压缩附 录1.常用图像处理函数说 明一、实验设备1. LC-PC计算机系统;2. MatLab软件/语言包括图像处理工具箱(Image Processing Toolbox);3. 实验所需要的图片。二、实验步骤1. 启动MatLab,在MatLab命令窗口中输入相应程序;A) 书写程序时,首先读取图像,一般调用MatLab自带的图像,如cameraman.tif图像;再调用相应的
3、图像处理函数,设置参数;最后输出处理后的图像;B) Matlab自带图像存储路径为:Matlab安装路径 toolboximagesimdemos,如果Matlab安装在C盘根目录下,则的自带图像路径为:“C:MATLAB7toolboximagesimdemos”;C) *.m文件默认保存的文件夹为:Matlab安装路径work,如“C:MATLAB7 work”;D) 除Matlab自带的图像外,新添加的被处理图像一般与其*.m文件放在同一文件夹中;2. 浏览源程序并理解含义;3. 运行,观察并截图记录显示结果;A) 运行过程中改变相应参数,观察结果图像,理解参数含义;B) 截图方法:键盘
4、上Print Screen键可截取整个屏幕,Alt+Print Screen组合键可截取活动窗口,粘贴到Windows附件中的画图工具中保存即可。另外也可自带专用截图软件截取;4. 结束运行,退出程序,撰写实验报告。三、实验报告要求 描述实验的基本步骤,用数据和图片给出各个步骤中取得的实验结果,并进行必要的讨论,必须包括原始图像及其计算/处理后的图像。 1. 实验报告中必须包含完整的图像处理过程、代码和结果及其分析;2. 处理前后的图像可以打印出来粘贴到实验报告上;3. 图像应有简单注释(程序中用title标记或用笔添加注释),且必须与程序代码对应。实验一 Matlab图像处理基础一、实验目的
5、1. 了解Matlab的基本功能及操作方法2. 练习图像读写和显示函数的使用方法3. 掌握Matlab支持的五类图像的显示方法(灰度、索引、黑白、彩色等)4. 熟悉常用的图像文件格式与格式转换;二、实验内容1. 图像的读写A) 图像读RGB = imread('ngc6543a.jpg');B) 图像写先从一个.mat 文件中载入一幅图像,然后利用图像写函数imwrite,创建一个.bmp文件,并将图像存入其中。load clownwhosimwrite(X,map,'clown.bmp')C) 图像文件格式转换bitmap = imread('clow
6、n.bmp','bmp');imwrite(bitmap,'clown.png','png');D) 图像综合操作利用matlab提供的函数将图像读入;编写程序实现对给定图像进行一定比例的放大和缩小处理,在Mfile编辑器中写入以下程序,全速执行:I=imread('roger.jpg'); %读入图像J = imresize(I,10); %放大10倍K = imresize(I,0.1); %缩小10倍L=imrotate(I,-10,'bilinear','crop'); %逆时针旋转
7、10°subplot(2,2,1),imshow(I),title('原图'); %原图subplot(2,2,2),imshow(J),title('放大10'); %放大10倍subplot(2,2,3),imshow(K),title('缩小0.1'); %缩小10倍subplot(2,2,4),imshow(L),title('逆时针旋转10°'); %逆时针转10°2. 图像显示A) 二进制图像的显示BW1=zeros(20,20);%创建仅包含0/1的双精度图像BW1(2:2:18,2:2
8、:18)=1;imshow(BW1,'notruesize');whosBW2=uint8(BW1);figure,imshow(BW2,'notruesize')BW3=BW2=0; %逻辑标志置为onfigure,imshow(BW3,'notruesize')whosBW=imread('circles.png');imshow(BW);figure,imshow(BW);figure,imshow(BW,1 0 0;0 0 1);B) 灰度图像的显示I=imread('testpat1.tif');J=fi
9、lter2(1 2;-1 -2,I);imshow(I)figure,imshow(J,)C) 索引图像的显示load clown %装载一幅图像imwrite(X,map,'clown.bmp'); %保存为bmp文件imshow(X)imshow(X,map)D) RGB图像的显示I=imread('flowers.tif');imshow(I)RGB=imread('ngc6543a.jpg');figure,imshow(RGB)imshow(I(:,:,3)% 显示第3个颜色分量E) 多帧图像的显示mri=uint8(zeros(128
10、,128,1,27); % 27帧文件mri.tif初始化 for frame=1:27 mri(:,:,:,frame),map=imread('mri.tif',frame); % 读入每一帧 endimshow(mri(:,:,:,3),map); % 显示第3帧figure,imshow(mri(:,:,:,6),map); % 显示第6帧figure,imshow(mri(:,:,:,10),map); % 显示第10帧figure,imshow(mri(:,:,:,20),map); % 显示第20帧F) 显示多幅图像X1,map1=imread('fore
11、st.tif');X2,map2=imread('trees.tif');subplot(1,2,1),imshow(X1,map1)subplot(1,2,2),imshow(X2,map2)subplot(1,2,1),subimage(X1,map1)subplot(1,2,2),subimage(X2,map2)三、思考题1. 简述MatLab软件的特点。2. MatLab软件可以支持哪些图像文件格式?3. 如何显示多帧图像的所有帧?如何根据多帧图像创建电影片段?4. 图像显示时,若不带参数notruesize,显示效果如何?5. 如何显示RGB图像的某一个颜色
12、分量?实验二 图像运算一、实验目的1. 熟悉图像点运算和代数运算的实现方法2. 了解图像几何运算的简单应用3. 了解图像的邻域操作二、实验内容1. 图像点运算读入图像rice.png,通过图像点运算改变对比度。rice=imread('rice.png');subplot(131),imshow(rice)I=double(rice); %转换为双精度类型J=I*0.43+60;rice2=uint8(J); %转换为uint8subplot(132),imshow(rice2)J=I*1.5-60;rice3=uint8(J); %转换为uint8subplot(133),i
13、mshow(rice3)2. 图像的代数运算A) 图像加法运算I=imread('rice.png');imshow(I)J=imread('cameraman.tif');figure,imshow(J)K=imadd(I,J);figure,imshow(K)K2=imadd(I,J,'uint16');figure,imshow(K2,)RGB=imread('flowers.tif');RGB2=imadd(RGB,50);imshow(RGB)figure,imshow(RGB2)RGB3=imadd(RGB,100);
14、figure,imshow(RGB3)B) 图像减法运算I=imread('rice.png');imshow(I)background = imopen(I,strel('disk',15); %估计背景图像figure, imshow(background);I2=imsubtract(I,background); %从原始图像中减去背景图像figure, imshow(I2)C) 图像乘法运算I=imread('moon.tif');J=immultiply(I,1.2);K=immultiply(I,0.5);imshow(I)figur
15、e,imshow(J)figure,imshow(K)D) *图像除法运算3. 图像的几何运算A) 图像缩放读入图像trees.tif,改变图像大小,分别将原图像放大1.5倍和缩小0.5倍。I=imread('trees.tif');J=imresize(I,1.25);K=imresize(I,0.8);imshow(I)figure,imshow(J)figure,imshow(K)Y=imresize(I,100,150);figure,imshow(Y)在matlab环境中,程序首先读取图像,然后调用图像缩放函数,设置相关参数,再输出处理后的图像。I = imread(
16、'cameraman.tif');figure,imshow(I);scale = 0.5;J = imresize(I,scale);figure,imshow(J);B) 图像旋转将上述图像顺时针和逆时针旋转任意角度,观察显示效果。I=imread('trees.tif');J=imrotate(I,30,'bilinear');J1=imrotate(I,30,'bilinear','crop');imshow(I)figure,imshow(J)figure,imshow(J1)J2=imrotate(I,
17、-15,'bilinear');figure,imshow(J2)在matlab环境中,程序首先读取图像,然后调用图像旋转函数,设置相关参数,再输出处理后的图像。I = imread('cameraman.tif');figure,imshow(I);theta = 30;K = imrotate(I,theta); % Try varying the angle, theta.figure, imshow(K)C) 图像剪切通过交互式操作,从一幅图像中剪切一个矩形区域。I=imread('trees.tif');imshow(I);I1=imc
18、rop;figure,imshow(I1)I2=imcrop(I,30 60 120 160);figure,imshow(I2)4. *图像的邻域操作读入图像tire.tif,分别使用函数nlfilter和blkproc对图像进行滑动邻域操作和分离邻域操作。I=imread('tire.tif');f=inline('max(x(:)'); %构造复合函数I2=nlfilter(I,3 3,f); %滑动邻域操作imshow(I)figure,imshow(I2)I=imread('tire.tif');f=inline('uint8(
19、round(mean2(x)*ones(size(x)'); %构造复合函数I2=blkproc(I,8 8,f); %滑动邻域操作imshow(I)figure,imshow(I2)三、思考题1. 点运算和代数运算的实现方法各是怎样的?实验三 灰度变换增强一、实验目的1. 熟悉matlab图像处理工具箱及直方图函数的使用;2. 了解灰度变换增强的Matlab实现方法3. 掌握直方图灰度变换方法4. 理解和掌握直方图原理和方法;二、实验内容1. 线段上像素灰度分布读入灰度图像debye1.tif,采用交互式操作,用improfile绘制一条线段的灰度值。imshow('deby
20、e1.tif')improfile读入RGB图像flowers.tif,显示所选线段上红、绿、蓝颜色分量的分布imshow('flowers.tif')improfile2. 直方图变换A) 直方图显示在matlab环境中,程序首先读取图像,然后调用直方图函数,设置相关参数,再输出处理后的图像。I=imread('cameraman.tif'); %读取图像subplot(1,2,1),imshow(I) %输出图像title('原始图像') %在原始图像中加标题subplot(1,2,2),imhist(I) %输出原图直方图title
21、('原始图像直方图') %在原图直方图上加标题读入图像rice.png,在一个窗口中显示灰度级n=64,128和256的图像直方图。I=imread('rice.png');imshow(I)figure,imhist(I,64)figure,imhist(I,128)B) 直方图灰度调节利用函数imadjust调解图像灰度范围,观察变换后的图像及其直方图的变化。I=imread('rice.png');imshow(I)figure,imhist(I)J=imadjust(I,0.15 0.9,0 1);figure,imhist(J)figu
22、re,imshow(J)I=imread('cameraman.tif');imshow(I)figure,imhist(I)J=imadjust(I,0 0.2,0.5 1);figure,imhist(J)figure,imshow(J)C) 直方图均衡化在matlab环境中,程序首先读取图像,然后调用灰度均衡函数,设置相关参数,再输出处理后的图像。I=imread('cameraman.tif'); %读取图像subplot(2,2,1),imshow(I) %输出图像title('原始图像') %在原始图像中加标题subplot(2,2,
23、3),imhist(I) %输出原图直方图title('原始图像直方图') %在原图直方图上加标题a=histeq(I,256); %直方图均衡化,灰度级为256subplot(2,2,2),imshow(a) %输出均衡化后图像title('均衡化后图像') %在均衡化后图像中加标题subplot(2,2,4),imhist(a) %输出均衡化后直方图title('均衡化后图像直方图') %在均衡化后直方图上加标题分别对图像pout.tif和tire.tif进行直方图均衡化处理,比较处理前后图像及直方图分布的变化。I=imread('p
24、out.tif');imshow(I)figure,imhist(I)J=histeq(I);figure,imhist(J)figure,imshow(J)I=imread('tire.tif');imshow(I)figure,imhist(I)J=histeq(I);figure,imshow(J)figure,imhist(J)三、思考题1. MATLAB程序的IPT中有哪些图像亮(灰)度变换函数?写出函数的语法。2. 直方图的物理含义是什么?3. 结合实验内容,定性评价直方图均衡增强效果?实验四 空域滤波增强一、实验目的1. 了解空域滤波增强的Matlab实现
25、方法;2. 掌握噪声模拟和图像滤波函数的使用方法;3. 能够将给定图像+噪声,使用均值滤波器、中值滤波器对不同强度的高斯噪声和椒盐噪声,进行滤波处理;4. 能够正确地评价处理的结果;并从理论上作出合理的解释。二、实验内容1. 噪声模拟利用函数imnoise给图像eight.tif分别添加高斯(gaussian)噪声和椒盐(salt & pepper)噪声。I=imread('eight.tif');imshow(I)I1=imnoise(I,'gaussian',0,0.01);figure,imshow(I1)I2=imnoise(I,'sal
26、t & pepper');figure,imshow(I2)2. 均值滤波和中值滤波A) 均值滤波在matlab环境中,程序首先读取图像,然后调用图像增强()函数,设置相关参数,再输出处理后的图像。I = imread('cameraman.tif');figure,imshow(I);J= filter2(fspecial('average',3),I) /255;figure,imshow(J);%fspecial(type) creates a two-dimensional filter h of the specified%type.
27、fspecial returns h as a correlation kernel, which is the%appropriate form to use with imfilter. type is a string having one%of these values.B) 中值滤波在matlab环境中,程序首先读取图像,然后调用图像增强(中值滤波)函数,设置相关参数,再输出处理后的图像。I = imread('cameraman.tif');figure,imshow(I);J=medfilt2(I,5,5);figure,imshow(J);3. 空域滤波A) 对
28、上述噪声图像进行均值滤波和中值滤波,比较滤波效果。I=imread('cameraman.tif'); J = imnoise(I,'gauss',0.02); %添加高斯噪声 %J = imnoise(I,'salt & pepper',0.02); %添加椒盐噪声K = filter2(fspecial('average',3),J)/255; %均值滤波 3 ×3L = filter2(fspecial('average',5),J)/255; %均值滤波 5 ×5M = medf
29、ilt2(J,3 3); %中值滤波3 ×3 模板N = medfilt2(J,4 4); % 中值滤波4 ×4 模板imshow(I);figure,imshow(J);figure,imshow(K);figure,imshow(L); figure,imshow(M); figure,imshow(N);B) 总结均值滤波和中值滤波的特点及使用场合。均值滤波器是一种最常用的线性低通平滑滤波器。可抑制图像中的噪声,但同时也使图像变得模糊中值滤波器是一种最常用的非线性平滑滤波器。可消除图像中孤立的噪声点,又可产生较少的模糊C) *对图像' cameraman.ti
30、f '采用'laplacian'高通滤波器进行锐化滤波。I=imread('cameraman.tif');imshow(I)h=fspecial('laplacian'); I2=filter2(h,I);figure,imshow(I2)三、思考题1. 简述高斯噪声和椒盐噪声的特点。2. 结合实验内容,定性评价平均滤波器/中值滤波器对高斯噪声和椒盐噪声的去噪效果?3. 结合实验内容,定性评价滤波窗口对去噪效果的影响?4. 图像亮(灰)度变换与空间滤波有什么不同?实验五 空间变换一、实验目的1. 了解空间变换函数及图像匹配方法二、实验内
31、容1. 图像极值的处理方法A) 对于下图所示的图像矩阵A,利用函数imregionalmax寻找其局部极大值A=10 10 10 10 10 10 10 10 10 10; 10 13 13 13 10 10 11 10 11 10; 10 13 13 13 10 10 10 11 10 10; 10 13 13 13 10 10 11 10 11 10; 10 10 10 10 10 10 10 10 10 10; 10 11 10 10 10 18 18 18 10 10; 10 10 10 11 10 18 18 18 10 10; 10 10 11 10 10 18 18 18 10
32、10; 10 11 10 11 10 10 10 10 10 10; 10 10 10 10 10 10 11 10 10 10;B=imregionalmax(A)B) 利用函数imextendedmax寻找像素值大于其邻域像素值2个单位的局部极大值。C=imextendedmax(A,2)2. *创建一幅图像,求其距离矩阵。bw=zeros(5,5);bw(2,2)=1;bw(4,4)=1;D=bwdist(bw)center1=-10;center2=-center1;dist=sqrt(2*(2*center1)2);radius=dist/2*1.4;lims=floor(cente
33、r1-1.2*radius) ceil(center2+1.2*radius);x,y=meshgrid(lims(1):lims(2);bw1=sqrt(x-center1).2+(y-center2).2)<=radius;bw2=sqrt(x-center2).2+(y-center2).2)<=radius;bw1=sqrt(x-center1).2+(y-center1).2)<=radius;bw=bw1|bw2;imshow(bw)D=bwdist(bw);figure,imshow(D, )D1=bwdist(bw);figure,imshow(D1, )3.
34、 *使用伪彩色显示标记矩阵。BW=0 0 0 0 0 0 0 0; 0 1 1 0 0 1 1 1; 0 1 1 0 0 0 1 1; 0 1 1 0 0 0 0 0; 0 0 0 1 1 0 0 0; 0 0 0 1 1 0 0 0; 0 0 0 1 1 0 0 0; 0 0 0 0 0 0 0 0X=bwlabel(BW,4)RGB=label2rgb(X,jet,'k');imshow(RGB,'notruesize')4. 利用选择控制点实现图像匹配。Matlab图像匹配的步骤:将标准图像和待匹配图像读入Matlab;指定图像中的控制点对并保存;使用互相
35、关性进一步协调控制点对(可选);制定所需变换类型并根据控制点对推断变换参数;变换未匹配的图像。%读入待匹配图像和标准图像unregistered = imread('westconcordaerial.png');imshow(unregistered)orthophoto = imread('westconcordorthophoto.png');figure,imshow(orthophoto)%选择图像中对应的控制点cpselect(unregistered(:,:,1),orthophoto)%保存控制点对input_pointsbase_points%
36、使用相关性进一步协调控制点对input_points_corr=cpcorr(input_points,base_points,unregistered(:,:,1),orthophoto);input_points_corr %根据控制点对推断空间变换参数mytform=cp2tform(input_points,base_points,'projective');%变换未匹配的图像registered=imtransform(unregistered,mytform);figure,imshow(registered)实验六 图像变换与滤波器设计一、实验目的1. 了解傅立叶
37、变换、离散余弦变换及Radon变换在图像处理中的应用2. 了解Matlab线性滤波器的设计方法二、实验内容1. 傅立叶变换A) 傅里叶变换基本操作I = imread('at3_1m4_04.tif');imshow(I);title('源图像');J = fft2(I);figure, imshow(J);title('傅立叶变换'); %频移JSh = fftshift(J);figure, imshow(JSh);title('傅立叶变换频移');%直接傅立叶反变换Ji = ifft2(J);figure, imshow(J
38、i/256);title('直接傅立叶变换');%幅度JA = abs(J);iJA = ifft2(JA);figure, imshow(iJA/256);title('幅度傅立叶反变换');%相位JP = angle(J);iJP = ifft2(JP);figure, imshow(abs(iJP)*100);title('相位傅立叶反变换'); B) 利用MATLAB软件实现数字图像傅立叶变换的程序I=imread(原图像名.gif); %读入原图像文件imshow(I); %显示原图像fftI=fft2(I); %二维离散傅立叶变换sf
39、ftI=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); %显示原图像的频谱C) 绘制一个二值图像矩阵,并将其傅立叶函数可视化。f=zeros(30,30);f(5:24,13:17)=1;imshow(f,'notruesize')F=fft2(f);F2=log(abs(F)
40、;figure,imshow(F2,-1 5,'notruesize');colormap(jet); F=fft2(f,256,256); %零填充为256×256矩阵figure,imshow(log(abs(F),-1 5,'notruesize');colormap(jet); F2=fftshift(F); %将图像频谱中心由矩阵原点移至矩阵中心figure,imshow(log(abs(F2),-1 5,'notruesize');colormap(jet);D) 利用傅立叶变换分析两幅图像的相关性,定位图像特征。读入图像t
41、ext.tif,抽取其中的字母a。bw=imread('text.tif');a=bw(59:71,81:91);imshow(bw);figure,imshow(a);C=real(ifft2(fft2(bw).*fft2(rot90(a,2),256,256);%求相关性figure,imshow(C,);thresh=max(C(:);figure,imshow(C>thresh-10)figure,imshow(C>thresh-15)2. 离散余弦变换(DCT)A) 使用dct2对图像autumn.tif进行DCT变换。RGB=imread('au
42、tumn.tif');imshow(RGB)I=rgb2gray(RGB); %转换为灰度图像figure,imshow(I)J=dct2(I);figure,imshow(log(abs(J),),colormap(jet(64);colorbar;B) 将上述DCT变换结果中绝对值小于10的系数舍弃,使用idct2重构图像并与原图像比较。RGB=imread('autumn.tif');I=rgb2gray(RGB); %转换为灰度图像J=dct2(I);figure,imshow(I)K=idct2(J);figure,imshow(K,0 255)J(abs(J
43、)<10)=0; %舍弃系数K2=idct2(J);figure,imshow(K2,0 255)C) 利用DCT变换进行图像压缩。I=imread('cameraman.tif');I=im2double(I);T=dctmtx(8);B=blkproc(I,8,8,'P1*x*P2',T,T');mask=1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
44、 0 0 0;B2=blkproc(B,8 8,'P1.*x',mask);I2=blkproc(B2,8 8,'P1*x*P2',T',T);imshow(I)figure,imshow(I2)3. Radon变换使用Radon逆变换重建图像。P=phantom(256); %创建256灰度级大脑图imshow(P)theta1=0:10:170;R1,xp=radon(P,theta1); %18个投影theta2=0:5:175; R2,xp=radon(P,theta2); %36个投影theta3=0:2:178; R3,xp=radon(P,
45、theta3); %90个投影figure,imagesc(theta3,xp,R3);colormap(hot);colorbar% 使用逆变换重构图像I1=iradon(R1,10); %用R1重构图像I2=iradon(R2,5); %用R2重构图像I3=iradon(R3,2); %用R3重构图像figure,imshow(I1)figure,imshow(I2)figure,imshow(I3)4. *Matlab线形滤波器设计采用频率变换方式,通过一维最优波纹FIR滤波器创建二维FIR滤波器(p96)。b=remez(10,0 0.4 0.6 1,1 1 0 0);%阶次,频率向量
46、,对应的理想幅频响应h=ftrans2(b);H,w=freqz(b,1,64,'whole');colormap(jet(64)plot(w/pi-1,fftshift(abs(H);%使x轴取值0处对应曲线中心figure,freqz2(h,32 32)三、思考题1. 傅里叶变换有哪些重要的性质?2. 简述傅立叶频谱搬移的原理3. 简述Fourier系数幅度、相位的物理意义。4. 图像的二维频谱在显示和处理时应注意什么?5. 简述离散余弦变换(DCT)的原理。实验七 形态学操作一、实验目的1. 了解膨胀和腐蚀的Matlab实现方法2. 掌握图像膨胀、腐蚀、开启、闭合等形态学
47、操作函数的使用方法3. 了解二进制图像的形态学应用二、实验内容1. 图像膨胀A) 对包含矩形对象的二进制图像进行膨胀操作。BW=zeros(9,10);BW(4:6,4:7)=1;imshow(BW,'notruesize')se=strel('square',3); %正方形结构元素BW2=imdilate(BW,se);figure,imshow(BW2,'notruesize')B) 改变上述结构元素类型(如:line, diamond, disk等),重新进行膨胀操作。C) 对图像text.tif进行上述操作,观察不同结构元素膨胀的效果。
48、BW3=imread('text.tif');imshow(BW3)se2=strel('line',11,90); %线型结构元素BW4=imdilate(BW3,se2);figure,imshow(BW4)2. 图像腐蚀A) 对图像circbw.tif进行腐蚀操作。BW1=imread('circbw.tif');se=strel('arbitrary',eye(5);BW2=imerode(BW1,se);imshow(BW1)figure,imshow(BW2)B) 对图像text.tif进行腐蚀操作。BW=imread
49、('text.tif');se=strel('line',11,90);BW2=imerode(BW,se);imshow(BW)figure,imshow(BW2)3. 膨胀与腐蚀的综合使用A) 从原始图像circbw.tif中删除电流线,仅保留芯片对象。方法一:先腐蚀(imerode),再膨胀(imdilate);BW1=imread('circbw.tif');imshow(BW1)se=strel('rectangle',40 30); %选择适当大小的矩形结构元素BW2=imerode(BW1,se); %先腐蚀,删除较
50、细的直线figure,imshow(BW2)BW3=imdilate(BW2,se); %再膨胀,恢复矩形的大小figure,imshow(BW3)方法二:使用形态开启函数(imopen)。BW1=imread('circbw.tif');imshow(BW1)se=strel('rectangle',40 30); BW2=imopen(BW1,se); %开启操作figure,imshow(BW2)B) 改变结构元素的大小,重新进行开启操作,观察处理结果。se=strel(rectangle,20 10); se=strel(rectangle,50 40)
51、;C) 置结构元素大小为4 3,同时观察形态开启(imopen)与闭合(imclose)的效果,总结形态开启与闭合在图像处理中的作用。I=imread('circbw.tif');imshow(I)se=strel('rectangle',4 3); I1=imopen(I,se); %开启操作I2=imclose(I,se); %闭合操作figure,imshow(I1)figure,imshow(I2)D) 综合实例I=imread('Plane2.jpg');level = graythresh(I); %得到合适的阈值bw = im2bw
52、(I,level); %二值化SE = strel('square',3); %设置膨胀结构元素BW1 = imdilate(bw,SE); %膨胀SE1 = strel('arbitrary',eye(5); %设置腐蚀结构元素BW2 = imerode(bw,SE1); %腐蚀BW3 = bwmorph(bw, 'open'); %开运算BW4 = bwmorph(bw, 'close'); %闭运算imshow(I);figure,imshow(bw);figure,imshow(BW1);figure,imshow(BW2
53、);figure,imshow(BW3);figure,imshow(BW4); 4. *高帽与低帽变换A) 读入图像pearlite.tif,分别显示其高帽变换与低帽变换结果,并与原图像比较。(设se=strel('disk',5);)。I=imread('pearlite.tif');subplot(221),imshow(I)se=strel('disk',5);J=imtophat(I,se);subplot(222),imshow(J)K=imbothat(I,se);subplot(223),imshow(K)L=imsubtract
54、(imadd(J,I),K);subplot(224),imshow(L)B) 要求显示在一个窗口中。三、思考题1. 结合实验内容,评价腐蚀运算与膨胀运算的效果。2. 结合实验内容,评价开运算与闭运算的效果。3. 腐蚀、膨胀、开、闭运算的适用条件是什么?实验八 图像复原一、实验目的1. 掌握噪声模拟和图像滤波函数的使用方法2. 了解图像复原的Matlab实现方法二、实验内容1. 模糊与噪声A) 对图像flowers.tif分别采用运动PSF和均值滤波PSF进行模糊。I=imread('flowers.tif');I=I(10+1:256,222+1:256,:); %剪切图像imshow(I)len=30; %运动位移 theta=10; %运动角度PSF=fspecial('motion',len,theta);blurred=imfilter(I,PSP,'circular','conv');figure,imshow(blurred)I=imread('flowers.ti
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公路建筑材料质检合同范例
- 北京出租合同范例
- 财产抵押担保借款合同范本
- 冷库安装合同范例
- 公厕维修施工合同范本
- 公司工程装修合同范例
- 个人广告采购合同范本
- 全屋定制套餐合同范例
- 2025年度工伤事故责任认定与赔偿金支付协议书
- 包子配送合同范本
- 2024年考研政治真题及答案
- 【直播薪资考核】短视频直播电商部门岗位职责及绩效考核指标管理实施办法-市场营销策划-直播公司团队管理
- 项目设计报告范文高中
- 《千年古村上甘棠》课件
- 部编版小学语文二年级下册电子课文《小马过河》
- 《医疗机构工作人员廉洁从业九项准则》专题解读
- 爱车讲堂 课件
- 成立商会的可行性报告5则范文
- 市场监督管理局反电信网络诈骗工作总结
- 2024-2030年中国免疫细胞存储行业发展模式及投资战略分析报告
- 家庭清洁课件教学课件
评论
0/150
提交评论