1、1、 打开计算机,启动MATLAB 程序;程序组中“work”文件夹中应有待处理的图像文件。2 、调入“实验一”中获取的数字图像,并进行计算机均衡化处理;3、 显示原图像的直方图和经过均衡化处理过的图像直方图。4 、记录和整理实验报告四、 实验仪器1、 计算机;2 、MATLAB 程序;3、 移动式存储器(软盘、U 盘等)。4 、记录用的笔、纸。五、 实验报告内容1、 实验所选取的的图像:图一 原图像2 、Matlab处理的程序:I=imread(pollen.jpg);I=rgb2gray(I);J=adapthisteq(I);subplot(2,2,1),imshow(I)title(原
2、图subplot(2,2,2),imshow(J)直方图均衡化后的结果)subplot(2,2,3),imhist(I,64)原图的直方图subplot(2,2,4),imhist(J,64)直方图均衡化后的结果的直方图3、 Matlab最后处理的结果:图二 处理后的图像实验二 图像增强空域滤波进一步了解MatLab 软件/语言,学会使用MatLab 对图像作滤波处理,使学生有机会掌握滤波算法,体会滤波效果。了解几种不同滤波方式的使用和使用的场合,培养处理实际图像的能力,并为课堂教学提供配套的实践机会。二、实验要求1、学生应当完成对于给定图像+噪声,使用平均滤波器、中值滤波器对不同强度的高斯噪
3、声和椒盐噪声,进行滤波处理;能够正确地评价处理的结果;能够从理论上作出合理的解释。2 利用MATLAB 软件实现空域滤波。三、实验设备与软件1、 IBM-PC 计算机系统2 、MatLab 软件/语言包括图像处理工具箱(Image Processing Toolbox)3 、实验所需要的图片四、 实验内容与步骤1、 调入并显示原始图像图一 原始图像2 、利用imnoise 命令在图像上加入高斯(gaussian) 噪声。3、利用预定义函数fspecial 命令产生平均(average)滤波器。4、采用3x3 的模板,分别用平均滤波器以及中值滤波器,对加入噪声的图。像进行处理并观察不同噪声水平下
4、,上述滤波器处理的结果。5、选择不同大小的模板,对加入某一固定噪声水平噪声的图像进行处理,观察上述滤波器处理的结果。6、利用imnoise 命令在图像上加入椒盐噪声(salt &pepper)。7、重复c) e)的步骤。8、输出全部结果并进行讨论。五、实验结果1、Matlab实验程序QQ.tif J = imnoise(I,gauss,0.02); %添加高斯噪声 %J = imnoise(I,salt & pepper %添加椒盐噪声 ave1=fspecial(average,3); %产生 33 的均值模版 ave2=fspecial(,5); %产生 55 的均值模版 K = filt
5、er2(ave1,J)/255; %均值滤波33L = filter2(ave2,J)/255; %均值滤波55 M = medfilt2(J,33); %中值滤波 33模板 N = medfilt2(J,4 4); %中值滤波 44模板 imshow(I);figure,imshow(J);figure,imshow(K);figure,imshow(L);figure,imshow(M);figure,imshow(N);2、实验的最后结果图二 运行结果实验三 图像增强频域滤波一、实验目的1、掌握怎样利用傅立叶变换进行频域滤波2、掌握频域滤波的概念及方法3、熟练掌握频域空间的各类滤波器4、
6、利用MATLAB 程序进行频域滤波二、实验原理及知识点频域滤波分为低通滤波和高通滤波两类,对应的滤波器分别为低通滤波器和高通滤波器。频域低通过滤的基本思想:G(u,v)=F(u,v)H(u,v)F(u,v)是需要钝化图像的傅立叶变换形式,H(u,v)是选取的一个低通过滤器变换函数,G(u,v)是通过H(u,v)减少F(u,v)的高频部分来得到的结果,运用傅立叶逆变换得到钝化后的图像。理想地通滤波器(ILPF)具有传递函数:其中,D0 为指定的非负数,D(u,v)为(u,v)到滤波器的中心的距离。0 D(u,v) D 的点的轨迹为一个圆。n 阶巴特沃兹低通滤波器(BLPF)(在距离原点0 D 处
7、出现截至频率)的传递函数为D u v D nH u v 20 1 ( , ) ( , ) 1与理想地通滤波器不同的是,巴特沃兹率通滤波器的传递函数并不是在0 D 处突然不连续。高斯低通滤波器(GLPF)的传递函数为H(u,v) eD2 (u,v) 2 2其中, 为标准差。相应的高通滤波器也包括:理想高通滤波器、n 阶巴特沃兹高通滤波器、高斯高通滤波器。给定一个低通滤波器的传递函数H (u,v) lp ,通过使用如下的简单关系,可以获得相应高通滤波器的传递函数:H 1 H (u,v) hp lp 利用MATLAB 实现频域滤波的程序f=imread(room.tif 0 ( , )1 ( , )
8、( , )ifD u v DH u vF=fft2(f); %对图像进行傅立叶变换S=fftshift(log(1+abs(F);%对变换后图像进行队数变化,并对其坐标平移,使其中心化S=gscale(S); %将频谱图像标度在0-256 的范围内imshow(S) %显示频谱图像h=special(sobel %产生空间sobel模版freqz2(h) %查看相应频域滤波器的图像PQ=paddedsize(size(f);%产生滤波时所需大小的矩阵H=freqz2(h,PQ(1),PQ(2);%产生频域中的sobel滤波器H1=ifftshift(H); %重排数据序列,使得原点位于频率矩阵
9、的左上角imshow(abs(H),) %以图形形式显示滤波器figure,imshow(abs(H1),)gs=imfilter(double(f),h); %用模版h 进行空域滤波gf=dftfilt(f,H1); %用滤波器对图像进行频域滤波figure,imshow(gs,)figure,imshow(gf,)figure,imshow(abs(gs),)figure,imshow(abs(gf),)number.tif%读取图片D0=0.05*PQ(1); %设定高斯高通滤波器的阈值H=hpfilter(gaussian,PQ(1),PQ(2),D0);%产生高斯高通滤波器g=dft
10、filt(f,H); %对图像进行滤波figure,imshow(f) %显示原图像figure,imshow(g,) %显示滤波后图像三、实验步骤:1 调入并显示所需的图片;2 利用MATLAB 提供的低通滤波器实现图像信号的滤波运算,并与空间滤波进行比较。3 利用MATLAB 提供的高通滤波器对图像进行处理。4 记录和整理实验报告。四、实验仪器1 计算机;2 MATLAB 程序;3 移动式存储器(软盘、U 盘等)。4 记录用的笔、纸。五、实验报告内容1 叙述实验过程;2 提交实验的原始图像和结果图像。实验报告要求六、描述实验的基本步骤,用数据和图片给出各个步骤中取得的实验结果,并进行必要的
11、讨论,必须包括原始图像及其计算/处理后的图像。七、思考题1 结合实验,评价频域滤波有哪些优点?2 在频域滤波过程中需要注意哪些事项?八、实验图片room.tif number.tif实验四 图像边缘检测和处理1掌握几种常用边缘检测算子的程序设计;2使学生掌握各种边缘检测算子的特征;3掌握Hough 变换的算法本质和程序设计技巧。4掌握域值处理方法5掌握区域分割方法和思想二、边缘检测处理函数1 点、线、边的检测1) 点检测:运用imfilter 滤波器实现方法一:g = abs(imfilter(double(f),w) =T例子:f = imread(dragfl.bmpw=-1 -1 -1;
12、 -1 8 -1; -1 -1 -1;g = abs(imfilter(double(f),w);T = max(g(:);g = g = T;imshow(g)方法二:g = imsubtract(ordfilt2(f2,m*n,ones(m,n),ordfilt2(f,1,ones(m,n);g = gg = imsubtract(ordfilt2(f,3*3,ones(3,2),ordfilt2(f,1,ones(3,2);/两个图像进行减运算1) 线检测: 运用模板进行检测w=2 -1 -1; -1 2 -1; -1 -1 2;g = imfilter(double(f),w);ims
13、how(g,)gtop = g(1:120,1:120);gtop = pixeldup(gtop,4);figure,imshow(gtop,)gbot = g(end-119:end,end-119:end);gbot = pixeldup(gbot,4);figure,imshow(gbot,)g = abs(g);figure,imshow(g,)g = g= =T;figure,imshow(g)2) 边缘检测方法:g,t = edge(f,method,parameter);gv,t = edge(f, , verticalimshow(gv)tgv = edge(f, ,0.15
14、, gboth = edge(f, sobel,o.15imshow(gboth)w45 = -2 -1 0; -1 0 1; 0 1 2;g45 = imfilter(double(f), w45, replicateT = 0.3* max(abs(g45(:);g45 = g45 figure,imshow(g45)2. 运用哈夫变换检测边1) 哈夫变换函数:h,theta,rho = houghf,dtheta,drhoh = hough(f);imshow(h,)2) 哈夫变换检测顶点函数:r,c,hnew = houghpeaks(h,numpeaks,threshold,nhoo
15、d)3) 哈夫变换检测直线函数: lines = houghlines(f,theta,rho,rr,cc,fillgap,minlength);h,theta,rho = hough(f,0.5);imshow(theta,rho,h, notruesize),axis on, axis normalxlabel(theta),ylabel(rhor, c = houghpeaks(h,5);hold onplot(theta(c),rho(r), linestylenonemarkerscolorwlines = houghlines(f,theta,rho,r, c);figure,im
16、show(f)for k = 1:length(lines)xy = lines(k).point1 ; lines(k).point2;plot(xy(:,2),xy(:,1), LineWidth,4, Color,.6 .6 .6);end3.域值处理1)全局域值处理函数:t = graythresh(f)T = 0.5*(double(min(f(:)+double(max(f(:);done = false;while doneg = f Tnext = 0.5*(mean(f(g)+mean(f(g);等价于:t2 = graythresh(f);t2t2 = t2*255;= t
17、2;4 区域分割函数1)区域增长函数:g,nr,si,ti = regiongrow(f,s,t) 例子:g,nr,si,ti = regiongrow(f,73,100);g,nr,si,ti = regiongrow(f,26,100);nrg,nr,si,ti = regiongrow(f,26,80);1) 分裂合并函数:g = splitmerge(f,mindim,fun) I = imread(g = splitmerge(I,32,predicate);g = splitmerge(I,16,predicate);g = splitmerge(I,8,predicate);g = splitmerge(I,4,predicate);g = splitmerge(I,2,predicate);三、实验内容和要求1编程实现Roberts 边缘检测算子2编程实现Sober 边缘检测算子;3编程实现Pirsch 边缘算子;4编程实现两个不同的拉普拉斯算子;_
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1