数字图像处理MATLAB程序完整版

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一部分数字图像处理

实验一图像的点运算

实验1.1 直方图

一.实验目的

1.熟悉matlab图像处理工具箱及直方图函数的使用;

2.理解和掌握直方图原理和方法;

二.实验设备

1.PC机一台;

2.软件matlab。

三.程序设计

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

I=imread('cameraman.tif');%读取图像

subplot(1,2,1),imshow(I) %输出图像

title('原始图像') %在原始图像中加标题

subplot(1,2,2),imhist(I) %输出原图直方图

title('原始图像直方图') %在原图直方图上加标题

四.实验步骤

1. 启动matlab

双击桌面matlab图标启动matlab环境;

2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像,

如:cameraman图像;再调用相应的直方图函数,设置参数;最后输出处理后的图像;

3.浏览源程序并理解含义;

4.运行,观察显示结果;

5.结束运行,退出;

五.实验结果

观察图像matlab环境下的直方图分布。

(a)原始图像 (b)原始图像直方图

六.实验报告要求

1、给出实验原理过程及实现代码;

2、输入一幅灰度图像,给出其灰度直方图结果,并进行灰度直方图分布原理分析。

实验1.2 灰度均衡

一.实验目的

1.熟悉matlab图像处理工具箱中灰度均衡函数的使用;

2.理解和掌握灰度均衡原理和实现方法;

二.实验设备

1.PC机一台;

2.软件matlab;

三.程序设计

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

I=imread('cameraman.tif');%读取图像

subplot(2,2,1),imshow(I) %输出图像

title('原始图像') %在原始图像中加标题

subplot(2,2,3),imhist(I) %输出原图直方图

title('原始图像直方图') %在原图直方图上加标题

a=histeq(I,256); %直方图均衡化,灰度级为256

subplot(2,2,2),imshow(a) %输出均衡化后图像

title('均衡化后图像') %在均衡化后图像中加标题

subplot(2,2,4),imhist(a) %输出均衡化后直方图

title('均衡化后图像直方图') %在均衡化后直方图上加标题

四.实验步骤

1. 启动matlab

双击桌面matlab图标启动matlab环境;

2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像,

如:cameraman图像;再调用相应的灰度均衡函数,设置参数;最后输出处理后的图像;

3.浏览源程序并理解含义;

4.运行,观察显示结果;

5.结束运行,退出;

五.实验结果

观察matlab环境下图像灰度均衡结果及直方图分布。

(a)原始图像 (b)均衡化后图像

(c)原始图像直方图 (d)均衡化后图像直方图 六.实验报告要求

1、给出实验原理过程及实现代码;

2、输入一幅灰度图像,给出其灰度均衡结果,并进行灰度均衡化前后图像直方图分布对比分析。

实验二图像滤波

实验2.1 3*3均值滤波

一.实验目的

1.熟悉matlab图像处理工具箱及均值滤波函数的使用;

2.理解和掌握3*3均值滤波的方法和应用;

二.实验设备

1.PC机一台;

2.软件matlab;

三.程序设计

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

I = imread('cameraman.tif');

figure,imshow(I);

J=filter2(fspecial(‘average’,3),I)/255;

figure,imshow(J);

四.实验步骤

1. 启动matlab

双击桌面matlab图标启动matlab环境;

2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像,

如:cameraman图像;再调用相应的图像增强(均值滤波)函数,设置参数;最后输出处理后的图像;

3.浏览源程序并理解含义;

4.运行,观察显示结果;

5.结束运行,退出;

五.实验结果

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

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

图(3)

六.实验报告要求

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

实验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个点取中值进行中值滤波有什么区别?

相关文档
最新文档