数字图像处理MATLAB程序[完整版] 下载本文

实验2.2 3*3中值滤波

一.实验目的

1.熟悉matlab图像处理工具箱及中值滤波函数的使用; 2.理解和掌握中值滤波的方法和应用;

二.实验设备

1.PC机一台; 2.软件matlab;

三.程序设计

在matlab环境中,程序首先读取图像,然后调用图像增强(中值滤波)函数,设置相关参数,再输出处理后的图像。

I = imread('cameraman.tif'); figure,imshow(I); J=medfilt2(I,[5,5]); figure,imshow(J);

四.实验步骤

1. 启动matlab

双击桌面matlab图标启动matlab环境; 2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像,如:cameraman图像;再调用相应的图像增强(中值滤波)函数,设置参数;最后输出处理后的图像;

3.浏览源程序并理解含义; 4.运行,观察显示结果; 5.结束运行,退出;

五.实验结果

观察matlab环境下原始图像经3*3中值滤波处理后的结果。

(a)原始图像 (b)3*3中值滤波处理后的图像

图(4)

六.实验报告要求

输入一幅灰度图像,给出其图像经3*3中值滤波处理后的结果,然后对每一点的灰度值和它周围24个点,一共25个点的灰度值进行排序后取中值,然后该点的灰度值取中值。看看对25个点取中值与对9个点取中值进行中值滤波有什么区别?

实验三 图像几何变换

实验3.1 图像的缩放

一.实验目的

1.熟悉matlab图像处理工具箱及图像缩放函数的使用; 2.掌握图像缩放的方法和应用;

二.实验设备

1.PC机一台; 2.软件matlab; 三.程序设计

在matlab环境中,程序首先读取图像,然后调用图像缩放函数,设置相关参数,再输出处理后的图像。

I = imread('cameraman.tif'); figure,imshow(I); scale = 0.5;

J = imresize(I,scale); figure,imshow(J);

四.实验步骤

1. 启动matlab

双击桌面matlab图标启动matlab环境; 2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像,如:cameraman图像;再调用相应的图像缩放函数,设置参数;最后输出处理后的图像; 3.浏览源程序并理解含义; 4.运行,观察显示结果; 5.结束运行,退出;

五.实验结果

观察matlab环境下图像缩放后的结果。

(a)原始图像 (b)缩放后的图像

图(5)

六.实验报告要求

输入一幅灰度图像,给出其图像缩放后的结果,然后改变缩放比率,观察图像缩放后结果柄进行分析。

实验3.2 图像旋转

一.实验目的

1.熟悉matlab图像处理工具箱及图像旋转函数的使用; 2.理解和掌握图像旋转的方法和应用;

二.实验设备

1.PC机一台; 2.软件matlab;

三.程序设计

在matlab环境中,程序首先读取图像,然后调用图像旋转函数,设置相关参数,再输出处理后的图像。

I = imread('cameraman.tif'); figure,imshow(I); theta = 30;

K = imrotate(I,theta); % Try varying the angle, theta. figure, imshow(K)

四.实验步骤

1. 启动matlab

双击桌面matlab图标启动matlab环境; 2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像,如:cameraman图像;再调用相应的图像旋转函数,设置参数;最后输出处理后的图像; 3.浏览源程序并理解含义; 4.运行,观察显示结果; 5.结束运行,退出;

五.实验结果

观察matlab环境下图像旋转后的结果。

(a)原始图像 (b)旋转后的图像

图(7)

六.实验报告要求

输入一幅灰度图像,给出其图像旋转后的结果,然后改变旋转角度,观察图像旋转后结果柄进行分析。

实验四 图像边缘检测

实验4.1 边缘检测(Sobel、Prewitt、Log边缘算子)

一.实验目的

1.熟悉matlab图像处理工具箱及图像边缘检测函数的使用;

2.理解和掌握图像边缘检测(Sobel、Prewitt、Log边缘算子)的方法和应用;

二.实验设备

1.PC机一台; 2.软件matlab;

三.程序设计

在matlab环境中,程序首先读取图像,然后调用图像边缘检测(Sobel、Prewitt、Log边缘算子)函数,设置相关参数,再输出处理后的图像。 I = imread('cameraman.tif'); J1=edge(I,'sobel'); J2=edge(I,'prewitt'); J3=edge(I,'log');

subplot(1,4,1),imshow(I); subplot(1,4,2),imshow(J1); subplot(1,4,3),imshow(J2); subplot(1,4,4),imshow(J3);

四.实验步骤

1. 启动matlab

双击桌面matlab图标启动matlab环境; 2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像,如:cameraman图像;再调用相应的边缘检测(Sobel边缘算子、Prewitt边缘算子、Log边缘算子)函数,设置参数;最后输出处理后的图像; 3.浏览源程序并理解含义; 4.运行,观察显示结果; 5.结束运行,退出;

五.实验结果

观察经过图像边缘检测(Sobel、Prewitt、Log边缘算子)处理后的结果。

(a)原始图像 (b)Sobel边缘算子

(c)Prewitt边缘算子 (d)Log边缘算子

图(7)

六.实验报告要求

输入一幅灰度图像,给出其图像边缘检测(Sobel、Prewitt、Log边缘算子)后的结果并进行分析对比。