Matlab在光学信息处理仿真实验中的应用_谢嘉宁
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
收稿日期:2004202213 基金项目:佛山科学技术学院校级科研课题经费资助 作者简介:谢嘉宁(1971-),女,广东潮州人,佛山科学技术学院物理系讲师,光学工程硕士,主要从事光学实验教学与
光信息处理的研究.
Matlab 在光学信息处理仿真实验中的应用
谢嘉宁1,陈伟成1,赵建林2,陈国杰1,张潞英1
(1.佛山科学技术学院物理系,广东佛山528000;2.西北工业大学应用物理系,陕西西安710072)
摘 要:提出了一种利用计算机并通过Matlab 软件仿真光学信息处理实验的方法,其特点是可以随意改变物理参量,克服了光学实验上难以实现的操作.文中分别给出了光栅衍射、空间滤波、图像边缘增强、相关识别等实验的部分仿真结果.
关键词:Matlab ;计算机仿真;CAI
中图分类号:O4239 文献标识码:A 文章编号:100524642(2004)0620023203
1 引 言
光学信息处理是以光子传递信息,以光学或光电子器件进行操作运算,利用光的透射、干涉和衍射等光学现象来实现对输入信息的各种变换或处理.因此,它也是一门基于实验的科学.随着计算机的广泛使用,计算机仿真实验得到了大量研究,各类CAI 软件应运而生,给光学信息处理的研究和教学带来极大方便.但笔者在调研中发现,大部分的仿真程序由VB ,C 和Fortran 等高级语言编写[1~3].使用这些语言编程,需要编者具有良好的计算机编程能力并花费较多的时间.因此,本文探讨利用Matlab 软件实现对光学信息处理实验的计算机仿真方法.
Matlab 作为科学计算软件,主要适用于矩阵
运算和信息处理领域的分析设计,它使用方便、输入简捷,运算高效、内容丰富,并且有大量的函数库可供使用[4].与Basic ,C 和Fortran 相比,用Matlab 编写程序,其问题的提出和解决只需以数
学方式表达和描述,不需要大量繁琐的编程过程,因此特别适合工程计算和教学软件的编写.本仿真实验系统实现了多种衍射屏的夫琅和费衍射、空间滤波、图像边缘增强、相关识别等实验的仿真.2 仿真系统的总体设计
本系统采用Matlab5.3编写,在Pentium 以上个人计算机上、Matlab 环境下运行.为了方便
用户使用,本系统的实验项目模块设置如图1所示.主界面的程序为OIP000.m ,界面如图2所
示.四大系统子模块是该窗体的子窗体模块,分别为OIP1.m ,OIP2.m ,OIP3.m 和OIP4.m ,通过单击主界面上相应的按钮即可启动相应的子窗体,在每一级子窗体界面上有相关的参量选择和操作
.
图1 系统模块功能图
图2 仿真实验系统主界面
第24卷 第6期
2004年6月
物 理 实 验 PHYSICS EXPERIM EN TA TION
Vol.24 No.6
J un.,2004
3 四大系统子模块的功能和程序的实现
四大系统子模块的功能介绍如下:
1)光栅衍射实验是第一子模块中的实验内容(如图3所示).通过界面右边的参量输入板,可以随意改变入射波长λ、焦距f 、缝数N 、缝宽a 、光栅常量d 和入射角θ.选定各参量后按下确定键,即可在左边的图像框显示出光强分布图和光栅衍射图样[5]
.
图3 光栅衍射实验模块
2)空间滤波实验模块的内容为:阿贝2波特网
格实验和空间滤波实验[6].网格实验是光信息处理实验中最重要的实验内容之一.输入图像是用
Windows 下的画图工具制作的网格(128×128大小,存为BMP 格式),经过傅里叶变换,在频谱面上显示出振幅频谱图.选择一个滤波器,放置在频谱面上,再进行一次傅里叶逆变换,则在输出平面得到输出像.仿真结果见图4.空间滤波实验的仿真界面见图5,输入图像、傅里叶变换、滤波器选择、傅里叶逆变换、振幅频谱三维图都在菜单栏中选择.该实验程序的编写,主要运用了Matlab 中的fft ,ifft ,fftshift 等函数.图像的读入用了imread ()语句,显示图像用imshow ()语句.为了显示振幅频谱的三维图,使用了mesh (abs (F ))[7]
.
图4 阿贝2波特网格实验
图5 空间滤波实验
3)图像边缘增强模块包括2部分:常见的数
字图像边缘增强方法和利用小波函数实现图像边缘增强.常见的数字图像边缘增强方法有sobel ,prewitt ,robert 等,结果如图6所示.它们的实现
直接使用了Matlab 中信号处理工具箱自身带有的edge ()函数.小波函数产生边缘增强,是在空间滤波实验的基础上,将小波函数的傅氏表达式与输入图像的傅里叶变换函数相乘,再进行傅里叶逆变换得到.因此,在本仿真实验中,使用者可以根据实际需要
,改变小波函数的类型和选择不同的伸缩因子,对待处理的图像进行边缘特征提取.
图6 常见的数字图像边缘增强方法的结果
42 物理实验 第24卷
仿真结果如图7所示.用这种方法编写图像边缘增强程序,只用了几条语句就完成了任务,简单明了,具有很强的物理思想,让使用者在进行仿真实验的同时,加深了对光学信息处理过程的理解.另外,使用者可以根据研究的需要,自己编写小波滤波器函数
.
图7 Haar 小波变换实现图像边缘增强仿真实验
4)光学信息处理的应用模块包含两大部分:
图像的相加、减运算与图象相关识别,它们均属于光学图像处理的重要课题.本仿真系统以正弦光栅作为滤波器,对待处理图像的频谱进行滤波,经过傅里叶逆变换,即产生两图像的相加运算.将正弦光栅沿x 轴平移π/2,则在输出面上得到两图像的相减.图8是图像相加运算实验的仿真结果.联合变换相关运算的实现是通过将目标物与参考物放置在同一幅图上作为输入图像,经一次FF T 变换后,在频谱面上得到其复振幅分布F ,再对F 进行联合变换功率谱的计算,最后对结果作FF
T
图8 图像相加运算仿真实验
的逆变换,输出结果即为目标物与参考物的相关峰.根据相关峰的强度以及弥散程度,可以对光学图像进行识别与筛选.相关识别仿真实验界面如图9所示
.
图9 相关识别仿真实验
4 结束语
用软件工具Matlab 开发光学信息处理实验仿真系统,提高了实验的效率,快速实现研究中的新构想.因此,推广应用类似于Matlab 这样功能强大的编程软件来进行仿真实验的开发,将给教学和科研带来便利.参考文献:
[1] 刘兵.夫琅和费衍射的计算机模拟[J ].青岛大学学
报,1999,14(4):63~65.
[2] 沈为民,杜茂森,刘东旭.成像过程的计算机模拟
[J ].大学物理,2000,19(8):44~46.
[3] 安文玉,赵延波.光衍射的微机模拟[J ].黑龙江大学
自然科学学报,1999,16(2):73~75.
[4] 陈怀琛.MA TLAB 及其在理工课程中的应用指南
[M ].西安:西安电子科技大学出版社,2000.[5] 谢嘉宁,赵建林.光栅衍射现象的计算机仿真分析
[J ].佛山科学技术学院学报,2002,20(2):15~18.[6] 彭哲方.数字图像处理在阿贝成像原理和空间滤波
实验中的应用[J ].物理实验,2001,21(7):26~28.
[7] 谢嘉宁,赵建林.光学空间滤波过程的计算机仿真
[J ].光子学报,2002,31(7):847~850.
(下转第28页)
5
2第6期 谢嘉宁,等:Matlab 在光学信息处理仿真实验中的应用