欢迎来到天天文库
浏览记录
ID:25839736
大小:52.50 KB
页数:3页
时间:2018-11-23
《数字图像处理实验一》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数字图像处理实验一图像变换一、实验目的了解matlab有关图像的基本操作,如图像的读写,显示等。掌握二维DFT变换及其物理意义,掌握基本的灰度变换方法。二、实验要求1.在Matlabworkspace中生成一幅大小为512×512像素的8位灰度图,背景为黑色,中心有一个宽40像素高20像素的白色矩形。如下图所示:2.将这幅图像保存为文件test.bmp。3.从文件test.bmp中读出图像到变量I。4.在Matlab图形界面中显示变量I所代表的图像。5.对I作二维DFT变换,结果保存到变量F。注意将频域原点调整至中心位置。6.将傅立叶频谱,即
2、F
3、的取值范围调整为0-255并显示。7
4、.将上题结果作对数变换后再进行显示,结果应与课本Figure4.3(b)一致。说明对数变换能使频谱显示效果更好的原因。8.对频谱图的物理意义作简要说明。一、实验流程创建测试图保存测试图读出测试图显示测试图2维DFT原点调整预处理频性谱调图整灰及度显线示频数谱调图整灰及度显对示二、理论知识1.在8位灰度图中,像素值大小为0-255。0代表黑色,255代表白色。2.二维DFT计算公式为。由于二维DFT是一种行列可分离的变换,其结果也可以由在两个方向上先后做一维DFT得到。具体流程为:(a)对图像每一行(即某个值),做一维DFT,得到的结果保存为矩阵的一行。(b)对矩阵的每一列(即某个值)
5、,做一维DFT,得到的结果保存为矩阵的一列。3.直接对图像做傅立叶变换,结果的原点处于图像左下角。将傅立叶变换结果的原点移到矩阵中心位置可利用公式。1.傅立叶变换结果一般为复数,它的模的大小反映了图像在不同频率上能量的分布。一般用来显示和比较傅立叶变换的结果。2.当用8位灰度来显示图像时,将图像灰度级调整至0-255范围内可以充分利用屏幕的显示范围。这时可利用一个线性变换将图像最小值变换至0,将图像最大值变换至255,其余灰度值做相应平移和拉伸。其变换函数为:3.对数变换也是一种常用的灰度转换函数。其变换函数为常数c用于调整s的动态范围,在本实验中为0-255。4.从频谱图可以看出图
6、像大致的方向性和灰度变化的快慢。一、Matlab基础知识Matlab中基本变量都是以矩阵的形式保存的。一幅图像即是一个二维的矩阵。变量名区分大小写,如a和A表示两个不同的变量。图像I中第i行第j列的像素用I(i,j)表示,其中行号和列号都从1开始计数。要了解更多关于Matlab的基本知识,可看Matlabhelp下的Matlab目录。本实验可能用到的matlab函数有:zeros,imwrite,imread,imshow,FFT2,abs,log,min,max,查询具体的函数用法可以在Matlabhelp中查找,或在Matlabcommandwindow中打help(空格)函数名
7、。在Matlabcommandwindow中的命令在打回车后直接执行。也可以在m-fileeditor中编写程序,存盘为.m文件后,按Debug菜单下的Run,自动逐条执行命令。Debug菜单下还提供了设置断点,逐行执行等调试命令。做本实验时可先在commandwindow中熟悉Matlab命令与函数,最后所有命令应保存在一个m文件中,便于检查和调试。每次画图前可用figure命令新开一个图像窗口,否则前一次显示的图像会被新的图像覆盖。也可用figure(n)命令规定当前图像窗口序号。用二维DFT公式直接计算图像的傅立叶变换要用到4重循环,在matlab中会比较慢。如果利用DFT的可
8、分离性质,用两次一维DFT来实现,可减少循环次数,提高程序效率。Matlab自带了FFT2函数,速度较快。可比较几种算法结果是否一致。二、实验评分1.当场检查程序内容及结果2.实验报告,包括实验目的,算法流程,结果分析等。
此文档下载收益归作者所有