数字图像处理MATLAB程序Word格式文档下载.docx
《数字图像处理MATLAB程序Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数字图像处理MATLAB程序Word格式文档下载.docx(14页珍藏版)》请在冰豆网上搜索。
cameraman.tif'
);
%读取图像
subplot(1,2,1),imshow(I)%输出图像
title('
原始图像'
)%在原始图像中加标题
subplot(1,2,2),imhist(I)%输出原图直方图
原始图像直方图'
)%在原图直方图上加标题
四.实验步骤
1.启动matlab
双击桌面matlab图标启动matlab环境;
2.在matlab命令窗口中输入相应程序。
书写程序时,首先读取图像,一般调用matlab自带的图像,如:
cameraman图像;
再调用相应的直方图函数,设置参数;
最后输出处理后的图像;
3.浏览源程序并理解含义;
4.运行,观察显示结果;
5.结束运行,退出;
五.实验结果
观察图像matlab环境下的直方图分布。
(a)原始图像(b)原始图像直方图
六.实验报告要求
1、给出实验原理过程及实现代码;
2、输入一幅灰度图像,给出其灰度直方图结果,并进行灰度直方图分布原理分析。
实验1.2灰度均衡
1.熟悉matlab图像处理工具箱中灰度均衡函数的使用;
2.理解和掌握灰度均衡原理和实现方法;
2.软件matlab;
在matlab环境中,程序首先读取图像,然后调用灰度均衡函数,设置相关参数,再输出处理后的图像。
subplot(2,2,1),imshow(I)%输出图像
subplot(2,2,3),imhist(I)%输出原图直方图
a=histeq(I,256);
%直方图均衡化,灰度级为256
subplot(2,2,2),imshow(a)%输出均衡化后图像
均衡化后图像'
)%在均衡化后图像中加标题
subplot(2,2,4),imhist(a)%输出均衡化后直方图
均衡化后图像直方图'
)%在均衡化后直方图上加标题
再调用相应的灰度均衡函数,设置参数;
观察matlab环境下图像灰度均衡结果及直方图分布。
(a)原始图像(b)均衡化后图像
(c)原始图像直方图(d)均衡化后图像直方图
2、输入一幅灰度图像,给出其灰度均衡结果,并进行灰度均衡化前后图像直方图分布对比分析。
实验二图像滤波
实验2.13*3均值滤波
1.熟悉matlab图像处理工具箱及均值滤波函数的使用;
2.理解和掌握3*3均值滤波的方法和应用;
三.程序设计
在matlab环境中,程序首先读取图像,然后调用图像增强(均值滤波)函数,设置相关参数,再输出处理后的图像。
I=imread('
figure,imshow(I);
J=filter2(fspecial(‘average’,3),I)/255;
figure,imshow(J);
再调用相应的图像增强(均值滤波)函数,设置参数;
观察matlab环境下原始图像经3*3均值滤波处理后的结果。
(a)原始图像(b)3*3均值滤波处理后的图像
图(3)
输入一幅灰度图像,给出其图像经3*3均值滤波处理后的结果,然后对每一点的灰度值和它周围24个点,一共25个点的灰度值进行均值滤波,看看对25个点取均值与对9个点取中值进行均值滤波有什么区别?
有没有其他的算法可以改进滤波效果。
实验2.23*3中值滤波
1.熟悉matlab图像处理工具箱及中值滤波函数的使用;
2.理解和掌握中值滤波的方法和应用;
在matlab环境中,程序首先读取图像,然后调用图像增强(中值滤波)函数,设置相关参数,再输出处理后的图像。
J=medfilt2(I,[5,5]);
再调用相应的图像增强(中值滤波)函数,设置参数;
观察matlab环境下原始图像经3*3中值滤波处理后的结果。
(a)原始图像(b)3*3中值滤波处理后的图像
图(4)
输入一幅灰度图像,给出其图像经3*3中值滤波处理后的结果,然后对每一点的灰度值和它周围24个点,一共25个点的灰度值进行排序后取中值,然后该点的灰度值取中值。
看看对25个点取中值与对9个点取中值进行中值滤波有什么区别?
实验三图像几何变换
实验3.1图像的缩放
1.熟悉matlab图像处理工具箱及图像缩放函数的使用;
2.掌握图像缩放的方法和应用;
在matlab环境中,程序首先读取图像,然后调用图像缩放函数,设置相关参数,再输出处理后的图像。
scale=0.5;
J=imresize(I,scale);
再调用相应的图像缩放函数,设置参数;
观察matlab环境下图像缩放后的结果。
(a)原始图像(b)缩放后的图像
图(5)
输入一幅灰度图像,给出其图像缩放后的结果,然后改变缩放比率,观察图像缩放后结果柄进行分析。
实验3.2图像旋转
1.熟悉matlab图像处理工具箱及图像旋转函数的使用;
2.理解和掌握图像旋转的方法和应用;
在matlab环境中,程序首先读取图像,然后调用图像旋转函数,设置相关参数,再输出处理后的图像。
theta=30;
K=imrotate(I,theta);
%Tryvaryingtheangle,theta.
figure,imshow(K)
再调用相应的图像旋转函数,设置参数;
观察matlab环境下图像旋转后的结果。
(a)原始图像(b)旋转后的图像
图(7)
输入一幅灰度图像,给出其图像旋转后的结果,然后改变旋转角度,观察图像旋转后结果柄进行分析。
实验四图像边缘检测
实验4.1边缘检测(Sobel、Prewitt、Log边缘算子)
1.熟悉matlab图像处理工具箱及图像边缘检测函数的使用;
2.理解和掌握图像边缘检测(Sobel、Prewitt、Log边缘算子)的方法和应用;
在matlab环境中,程序首先读取图像,然后调用图像边缘检测(Sobel、Prewitt、Log边缘算子)函数,设置相关参数,再输出处理后的图像。
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);
再调用相应的边缘检测(Sobel边缘算子、Prewitt边缘算子、Log边缘算子)函数,设置参数;
观察经过图像边缘检测(Sobel、Prewitt、Log边缘算子)处理后的结果。
(a)原始图像(b)Sobel边缘算子
(c)Prewitt边缘算子(d)Log边缘算子
输入一幅灰度图像,给出其图像边缘检测(Sobel、Prewitt、Log边缘算子)后的结果并进行分析对比。
实验五基于DSP的边缘检测
实验5.1边缘检测(Sobel边缘算子)
一.实验目的
1.熟悉视频显示程序的运行过程、控制过程,搞清数据处理、传输途径;
2.结合实例学习如何在视频显示程序中增加图像处理算法;
3.熟悉CCS集成开发环境的使用;
4.了解边缘检测的算法和用途,学习利用Sobel算子进行边缘检测的程序设计方法;
1.SEED_DTK教学实验系统