数字图像处理第二次_第1页
数字图像处理第二次_第2页
数字图像处理第二次_第3页
数字图像处理第二次_第4页
数字图像处理第二次_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实 验 报 告课程名称数字图像处理实验项目名称基于Matlab语言的数字图像处理技术实验类型综合实验学时2班级学号姓名指导教师实验室名称控制系统仿真实验室实验时间实验成绩预习部分实验过程表现实验报告部分总成绩教师签字日期哈尔滨工程大学教务处 制1实验项目名称:基于Matlab语言的数字图像处理技术2实验目的:熟悉并掌握基于Matlab语言的数字图像增强(直方图增强、均值滤波、中值滤波)、变换(高、低通滤波)和分割等处理技术。3实验内容与实验步骤:1)选做1 (1)对一幅灰度图像tire.tif(图1),采用histeq函数灰度直方图均衡化,在一个窗口中显示原始和均衡化图,以及相应得的直方图(函

2、数imhist)。程序如下:>> I=imread('tire.tif');J=histeq(I);subplot(2,2,1);imshow(I);title('原始图象');subplot(2,2,2);imhist(I);title('原始图象直方图')axis(0 255 0 2500);subplot(2,2,3);imshow(J);title('均衡化后的图象');subplot(2,2,4);imhist(J);axis(0 255 0 2550);title('均衡化后的直方图');(

3、2)对一幅带有噪声图像rice.png(图2),分别选择3×3、5×5等模板进行均值滤波(函数filter2和fspecial),以及采用medfilt2进行函数非线性模板中值滤波,同时观察噪声图像、不同尺寸模板的滤波后图像,对噪声的滤波效果图像进行比较。程序如下:>> I=imread('rice.png');>> K1=imfilter(I,fspecial('average',3);>> K2=imfilter(I,fspecial('average',5);>> K3=m

4、edfilt2(I,3,3);>> K4=medfilt2(I,5,5);>> subplot(2,3,1);>> imshow(I);>> title('原始图象');>> subplot(2,3,2);imshow(K1);title('3*3模板均值滤波');>> subplot(2,3,3);imshow(K2);title('5*5模板均值滤波');>> subplot(2,3,4);imshow(K3);title('3*3模板中值滤波'

5、;);subplot(2,3,5);imshow(K4);title('5*5模板中值滤波');(3)采用函数fspecial,用sobel算子、prewitt算子、log算子对某一图像进行锐化滤波,并观察滤波效果。程序如下:>> I=imread('D:MATLAB7toolboximagesimdemosrice.png');BW1,T1=edge(I,'sobel');BW2,T2=edge(I,'prewitt');BW3,T3=edge(I,'log');subplot(2,2,1);imsh

6、ow(I);title('原始图像');subplot(2,2,2);imshow(BW1);title('sobel边缘检测');subplot(2,2,3);imshow(BW2);title('prewitt边缘检测');subplot(2,2,4);imshow(BW3);title('log边缘检测'); (4)对一幅图像加入椒盐噪声后,采用函数lpfilter实现低通滤波,采用函数hpfilter实现高通滤波,并分析滤波效果。程序如下:>> J=imread('D:MATLAB7toolboxima

7、gesimdemoseight.tif');subplot(3,3,1);imshow(J);J=double(J);f=fft2(J);g=fftshift(f);subplot(3,3,2);imshow(log(abs(g),);color(jet(64);M,N=size(f);n1=floor(M/2);n2=floor(N/2);d0=5;for i=1:Mfor j=1:Nd=sqrt(i-n1)2+(j-n2)2);if d<=d0h=1;else h=0;endg(i,j)=h*g(i,j);endend g=ifftshift(g);g=uint8(real(

8、ifft2(g);subplot(3,3,3);imshow(g) >> J=imread('D:MATLAB7toolboximagesimdemoseight.tif'); subplot(2,3,1);imshow(uint8(J);xlabel('(a)模糊图像');J=double(J);f=fft2(J);g=fftshift(f);subplot(2,3,2);imshow(log(abs(g),);color(jet(64);M,N=size(f);n1=floor(M/2);n2=floor(N/2);d0=20;for i=1:M

9、for j=1:Nd=sqrt(i-n1)2+(j-n2)2);if d>=d0h1=1;h2=1+0.5;else h1=0;h2=0.5;end g1(i,j)=h1*g(i,j);g2(i,j)=h2*g(i,j);end endg1=ifftshift(g1);g1=uint8(real(ifft2(g1);subplot(2,3,3);imshow(g1);(5)对一幅图像,采用函数edge分别使用Roberts 、Prewitt、Sobel和LoG (拉普拉斯-高斯)算子进行图像分割,并比较不同算子在该图像分割中的作用。>> I=imread('D:MAT

10、LAB7toolboximagesimdemosrice.png');subplot(2,2,1);imshow(I);xlabel('a)原始图像');BW1,thresh1=edge(I,'roberts');disp('Roberts算子自动选择的阈值为:')disp(thresh1)subplot(2,2,2);imshow(BW1);xlabel('b)自动阈值的Roberts算子边缘检测');BW2,thresh2=edge(I,'prewitt');disp('Prewitt算子自动选

11、择的阈值为:')disp(thresh2)subplot(2,2,3);imshow(BW2);xlabel('b)自动阈值的Prewitt算子边缘检测');BW3,thresh3=edge(I,'log');disp('log算子自动选择的阈值为:')disp(thresh3)subplot(2,2,4);imshow(BW3);xlabel('b)自动阈值的log算子边缘检测');Roberts算子自动选择的阈值为: 0.1848Prewitt算子自动选择的阈值为: 0.1140log算子自动选择的阈值为: 0.0080Roberts算子、Prewitt算子和Log算子在该图像分割中的作用。 Roberts边缘算子是一种斜向偏差分的梯度计算方法。不具备抑制噪声能力,但对具有陡峭边缘且

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论