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

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第一部分数字图像处理实验一图像的点运算实验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);%直方图均衡化,灰度级为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环境下图像灰度均衡结果及直方图分布。(a)原始图像(b)均衡化后图像(c)原始图像直方图(d)均衡化后图像直方图六.实验报告要求1、给出实验原理过程及实现代码;2、输入一幅灰度图像,给出其灰度均衡结果,并进行灰度均衡化前后图像直方图分布对比分析。实验二图像滤波实验2.13*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.23*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);%Tryvaryingtheangle,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边缘算子)后的结果并进行分析对比。实验五基于DSP的边缘检测实验5.1边缘检测(Sobel边缘算子)一.实验目的1.熟悉视频显示程序的运行过程、控制过程,搞清数据处理、传输途径;2.结合实例学习如何在视频显示程序中增加图像处理算法;3.熟悉CCS集成开发环境的使用;4.了解边缘检测的算法和用途,学习利用Sobel算子进行边缘检测的程序设计方法;二.实验设备1.SEED_DTK教学实验系统一套;2.DSP仿真器;3.PC机一台。三.程序设计在视频显示任务的循环中,程序首先将视频数据从输入缓冲区读入自己开设的临时图像处理缓冲区,再在临时图像处理缓冲区上进行处理,处理后的数据再输出到输出缓冲区。在屏幕中央开辟一个矩形区域,对这个区域内的图像进行处理。这里按模板(1)进行处理。DSP程序具体详见附录一。/*画矩形边框*/voiddrawRectangle();/*Sobel边缘检测处理*/voidsobelEdge();四.实验步骤1.实验准备(1)连接设备参见“第一部分实验环境的建立”的“一硬件连接”部分。(2)开启设备①打开计算机电源(注意:连接设备时并不需要关闭计算机,但要关闭实验箱电源;如在连接设备前已经打开计算机,就不需要进行此步骤了)。②打开实验箱电源开关③打开显示器开关。(3)设置CodeComposerStudio为Emulator方式参见“第一部分实验环境的建立”的“二软件的安装和配置”部分。如先前已经设置过,就不需再进行设置了。(4)双击usb20emurst.exe,如果出现提示“SEEDUSB2.0XDS510CARDISRESET,HARDWAREVERSION1”,证明仿真器与目标系统连接正常。否则请检查电源是

1 / 16
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功