第一部分数字图像处理实验一图像的点运算实验1.1直方图一. 实验目的1 •熟悉matlab图像处理工具箱及直方图函数的使用;2•理解和掌握直方图原理和方法;二. 实验设备1. PC 机一台;2.软件matlab。
三. 程序设计在matlab环境中,程序首先读取图像,然后调用直方图函数,设置相关参数,再输出处理后的图像。
l=imread('camerama n.tif);% 读取图像subplot(1,2,1),imshow(l) % 输出图像title(' 原始图像')% 在原始图像中加标题subplot(1,2,2),imhist(l) % 输出原图直方图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环境中,程序首先读取图像,然后调用灰度均衡函数,设置相关参数,再输出处理后的图像。
l=imread('camerama n.tif);% 读取图像subplot(2,2,1),imshow(l) % 输出图像title(' 原始图像')% 在原始图像中加标题subplot(2,2,3),imhist(l) % 输出原图直方图title(' 原始图像直方图')%在原图直方图上加标题a=histeq(l,256); % 直方图均衡化,灰度级为256subplot(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环境下图像灰度均衡结果及直方图分布。
均衡化后图像六•实验报告要求1给出实验原理过程及实现代码;2、输入一幅灰度图像,给出其灰度均衡结果,并进行灰度均衡化前后图像直方图分布对比分析。
(d)实验二图像滤波实验2.1 3*3均值滤波一. 实验目的1 .熟悉matlab图像处理工具箱及均值滤波函数的使用;2.理解和掌握3*3均值滤波的方法和应用;二. 实验设备1. PC机一台;2. 软件matlab ;三. 程序设计在matlab环境中,程序首先读取图像,然后调用图像增强(均值滤波)函数,设置相关参数,再输出处理后的图像。
I = imread('camerama n.tif);figure,imshow(l);J=filter2(fspecial( ‘ average ' ,3),l)/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('camerama n.tif); figure,imshow(l);J=medfilt2(l,[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('camerama n.tif); figure,imshow(l);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('camerama n.tif);figure,imshow(l);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 子)函数,设置相关参数,再输出处理后的图像。
I = imread('camerama n.tif);J1=edge(l,'sobel');J2=edge(l,'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 边缘算子、子)函数,设置参数;最后输出处理后的图像;3•浏览源程序并理解含义;4. 运行,观察显示结果;5. 结束运行,退出;五. 实验结果观察经过图像边缘检测(Sobel、Prewitt、Log边缘算子)处理后的结果。