当前位置:首页 > 申请书大全 > MATLAB和PowerPoint相结合的数字图像处理教学|数字图像处理教学视频
 

MATLAB和PowerPoint相结合的数字图像处理教学|数字图像处理教学视频

发布时间:2019-07-11 03:51:21 影响了:

  一引论   现代教育理论认为[1]:全面实施素质教育,传统教学陈旧的教学手段和简单的教学技术在当今世界的多层次教学、演示教学、实验教学等现代化课堂教学中就显得力不从心。随着计算机技术的发展,在课堂教学中采用多媒体手段变得越来越普遍。但是,多媒体教学绝不是仅仅采用PowerPoint、Authorware、Flash等媒体制作软件将黑板教学原封不动的搬到计算机中来,多媒体教学应该是融合原先黑板教学的精髓———教学内容准确、推演逻辑性强的特点,同时展现原黑板教学所不能展示的特性,如:生动、形象、视觉效果好等,将教学的内容同所采用的媒体技术进行深层次的融合。PowerPoint通用性强,易学易用;具有强大的制作功能,文字编辑能力强、段落格式丰富、文件格式多样、绘图手段齐全、色彩表现能力强;PowerPoint具有一定的程序设计功能,提供VBA功能,可以融合VB进行开发,提供了同其他程序交互的功能。
  MATLAB是美国MathWorks公司自20世纪80年代中期推出的数学处理软件,具有优秀的数值计算和卓越的数据可视化能力。它集成了计算、可视化和编程于一个易用的环境中,在此环境下,问题和解答都表达为我们熟悉的数学符号,是演草纸式的计算工具。典型的应用有:数学和计算、算法开发、建模,模拟和原形化、数据分析,探索和可视化、科学与工程制图、应用开发,包括图形用户界面的建立等。MATLAB的基本数据元素是无须定义维数的数组,这让我们能解决很多技术计算的问题,尤其是可以用二维矩阵很好表达的数字图像处理问题,所要花的时间仅仅是用一种标量非交互语言(例如C或Fortran)写一个程序时间的一小部分。
  姚锦绣老师在“MATLAB应用在图像处理教学中的探讨”[1]一文中,提出了将MATLAB应用在图像处理教学中的观点,认为引进MATLAB语言可以快速实现模拟仿真,提高教学效率,使学生获得具体生动的印象,凝聚学生的注意力和观察力,激发起求知欲望和兴趣,并结合直方图和阈值分割的教学实例,阐述了MATLAB同数字图像处理教学相结合的优越性。张国琴老师[2]、孙学岩老师[3]和常靓老师[4]分别撰文阐述MATLAB在数字图像处理教学中的应用,文中利用MATLAB丰富的IPT工具箱功能,例证了MATLAB在数字图像教学中的作用,得到结论:有利于图像处理问题讲解的形象化、具体化,有利于提高学生们的学习兴趣。彭晓明老师[5]和张博夫老师[6]分别就MATLAB环境下进行数字图像处理实验教学进行了有意义的探讨,尤其是彭晓明老师利用MATLAB设计了由易到难的10组实验题目,涵盖了图像预处理的各个方面。但是这些文献均缺乏将MATLAB应用于数字图像处理教学的基本框架,缺乏MATLAB同PowerPoint相结合,实现无缝连接方面的阐述。
  数字图像处理涉及多门学科:电子信息工程、通信工程、信号与信息处理、计算机应用与软件、工程数学等[7],要想讲解如此众多学科的内在联系,分析图像特征的挖掘、图像处理算法的设计以及算法性能的评测,仅仅靠黑板教学不能满足要求,仅仅凭借多媒体处理软件也无法展现数字图像处理的精髓,均达不到应有的教学效果。我们需要在数字图像处理的教学中综合应用MATLAB和PowerPoint两大软件,同数字图像处理的各个知识点有机的结合起来,利用MATLAB展示图像特征的提取、图像算法的设计和算法性能的评测,利用PowerPoint形象直观的展示教学内容,提高教学效果。
  要在PowerPoint中调用MATLAB功能,实现二者的连接,就必须借助于ActiveX技术。MATLAB即可以作ActiveX自动化控制器去操纵其他应用程序,也能作为ActiveX自动化服务器而被其它应用程序所操纵[8]。利用PowerPoint作为媒体展示的平台,MATLAB将作为ActiveX服务器,在VBA中使用MATLAB具体方法如下:
  开启MA TLAB自动化服务器功能
  Dim Matlab As Object
  SetMatlab = CreateObject“ (M at lab. Application”)
  VBA与MATLAB交换数据
  Matlab.GetFullMatrix(varname As String, workspace As String,[out] XReal As Double, [out] XImag As Double):将MA TLAB中的一个矩阵变量传送到VB程序中一个1维或2维数组中;
  Matlab.PutFullMatrix ([in] varname As String, [in] workspace As String, [in] xreal As Double, [in] ximag As Double):将VB程序中一个1维或2维数组传送到MA TLAB中的一个矩阵变量中;
  VBA中执行MATLAB语句
  Matlab.Execute(command As String) As String:该函数输入参数为字符串类型变量,它可以包含任何合法MA TLAB命令,执行Execute方法将调用MATLAB,并执行一条由Command字符串决定的MATLAB命令,并将结果以字符串形式进行输出,同时命令所产生的任何图形窗口都将被直接显示在屏幕上。
  采用ActiveX技术调用MATLAB功能,一方面省去了启用MATLAB集成开发环境所消耗的资源,提高了演示的速度;另一方面,不用在PowerPoint和MATLAB之间来回切换程序,保持了多媒体展示环境的统一,提高了教学的课堂效果。
  本文将数字图像处理按着自身的特点分为图像特征分析、图像处理算法设计和算法性能分析与验证三个方面。将PowerPoint和MATLAB相结合,由PowerPoint负责文字和公式的展示,由MATLAB来完成后台仿真,取得了较好的教学效果。下面我以数字图像处理的基本技术直方图均衡化为例从理论的讲解,算法的设计、效果的展示和算法性能的评测三个方面设计PowerPoint和MATLAB相结合的课堂教学方法。
  二直方图均衡化理论部分的讲授安排
  讲解直方图均衡化关键要解决的问题是:如何让学生理解为什么要均衡化处理、怎么均衡化处理、均衡化处理有什么样的效果。首先通过PowerPoint精心展示MATLAB处理的灰度偏暗、灰度偏白、灰度动态分布范围较窄和灰度范围比较宽的同一幅图像及其对应的灰度直方图,让学生们鉴别四幅图像哪一幅视觉效果更好。进一步分析灰度直方图具有什么样形状的图像视觉效果会好一些。通过视觉的对比得到结论:若一幅图像其像素占有全部的可能的灰度等级并且分布均匀,则图像有较高的对比度和多变的灰度等级[9]。
  下一步是如何寻找能够使直方图均衡化的方法。理论的教学内容应该进行精心的选择,适应学生的学习范围和能力范围,一方面对学生要有一定的挑战性,另一方面不要打击学生的学生学习积极性,要很好的平衡。理论部分的讲授不可避免的涉及到公式和算法的演算,这一部分采用PowerPoint进行展示无疑具有更大的优势。但是,在讲授的过程中来回的进行不同应用程序间的切换,不可避免的会打乱教学步骤,难免造成学生注意力的分散,本文采用VBA技术实现了Matlab同Powerpoint的无缝连接,保证了教学的连续性,获取了较好的教学效果。下面是实际的VBA程序供同行参考,指证。
  VBA语句:
  Private Sub CommandButton1_Click()
  Dim MCommnad As String
  Dim matlab As Object
  Set matlab = CreateObject("Matlab.application") matlab.Execute("set(gcf,’visible’,’off’);")
  MCommnad = TextBox1.Value
  matlab.Execute(MCommnad)
  matlab.Execute ("print(gcf,’-dbmp’,’c:\a.bmp’);") Image1.Picture = LoadPicture("c:\a.bmp")
  SlideShowWindows(1).View.GotoSlide 2
  End Sub
  三直方图均衡化的算法设计
  直方图均衡化既可以采用Matlab提供的直方图函数来实现,也可以采用Matlab语言以编程的方式实现,为了让学生们更深刻的理解直方图均衡化的理论和方法,教师在讲授的过程中应该要求学生们首先采用语言编程的方式来实现。
  下面是我们在实际的授课过程中编写的程序,供读者参考:
  function imagehist(imagefile)
  originimage = imread(imagefile);
  originimage = rgb2gray (originimage); %%读取RGB图像,并转为灰度图
  [m,n] = size(originimage); originhist = zeros(1,256);
  for k = 0:255%%计算原图像的灰度直方图,并归一化
  originhist(k+1) = length(find(originimage == k))/(m*n);
  end
  subplot(221),imshow(originimage); subplot(222),bar(0:255,originhist,’r’);
  equalgray = zeros(1,256);
  for k = 1: 256%%求累积分布函数for i = 1:k
  equalgray(k) = originhist(i)+equalgray(k); end end
  equalgray = round ((equalgray*255) + 0.5); equalhist = zeros(1,256);
  for i = 0:255 temp = find(equalgray == i); if isempty(temp)
  equalhist(i+1) = 0; else
  equalhist(i+1)=sum(originhist(temp)); end
  end
  subplot(223),bar(0:255,equalhist,’b’); equalimage = originimage; for i = 0:255
   temp = find(originimage == i); if ~isempty(temp)
  equalimage(temp) = equalgray(i+1); end
  end
  subplot(224),imshow(equalimage); end
  四直方图均衡化的算法性能分析
  向学生们讲解了直方图均衡化的理论和设计方法,学生亲手设计了直方图均衡化的程序后,应该安排学生们对直方图均衡化的算法进行性能分析,这是图像处理算法设计的必备步骤。采用Matlab语言首先让学生们实现均衡化处理前后的对比显示;接着实现自己设计的算法和Matlab算法的执行效率比较;两个同学为一组,互相对比,比较各自算法的执行效率,并研究执行效率的差别和原因,激发起学生们积极探讨改进算法效率的兴趣,推进学生们对于数字图像处理强烈的求知欲,强烈的探讨相关技术和相关参考工具的积极解决问题的欲望。
  总之,将powerpoint和Matlab的特点和优点相互补充,充分达到课堂教学形象生动、讲解精确的目的,较好的发挥了现在多媒体的优势。文字和理论公式的讲解采用Powerpoint进行,理论的演示和算法的设计、算法的验证采用Matlab进行验证,取得较好的教学效果!
  参考文献
  [1]姚锦秀,郑胜林,潘保昌. MATLAB应用在图像处理教学中的探讨[J].广东工业大学学报,2004, 4(6).
  [2]张国琴,吴周桥. MATLAB在数字图像处理教学中的应用[J].武汉科技学院学报,2005,18(10).
  [3]孙学岩. Matlab在数字图像处理教学中的应用[J].潍坊学院学报,2008,8(6).
  [4]常靓,陈志国.Matlab在图像处理教学中的应用[J].黑龙江科技信息,2009.
  [5]彭晓明.基于MATLAB的数字图像处理课程的教学实验设计[J].高等教育研究,2009, 26(1): 60-62.
  [6]张博夫,梁凯琦. MATLAB环境下的数字图像处理实验入门[J].实验科学与技术.2008(2): 52-53,116.
  [7]周国辉,俞兰芳,张军.数字图像处理及工程应用[M].哈尔滨:东北林业大学出版社, 2010.
  [8]李喆,张宏立. Powerpoint与MATLAB接口实现[J].新疆大学学报(自然科学版),2005, 22(3): 338-341.
  [9]姚敏.数字图像处理[M].北京:机械工业出版社, 2006.

猜你想看
相关文章

Copyright © 2008 - 2022 版权所有 职场范文网

工业和信息化部 备案号:沪ICP备18009755号-3