区分难度等级的数字图像处理教学实验设计

2016-01-28 05:13郭永芳河北工业大学计算机科学与软件学院300130
学周刊 2016年1期
关键词:流程图图像处理绘制

郭永芳 (河北工业大学计算机科学与软件学院 300130)

黄 凯 (河北工业大学电气工程学院 300130)

区分难度等级的数字图像处理教学实验设计

郭永芳(河北工业大学计算机科学与软件学院300130)

黄凯(河北工业大学电气工程学院300130)

摘要:本文在分析目前数字图像处理课程遇到的几个问题的基础上,提出区分难度等级的数字图像处理实验设计理念,并用一个实例进行了说明。实践表明,绘制程序流程图以及区分难度等级的数字图像处理实验可以使学生更好地掌握数字图像处理相关算法,激发学生学习兴趣,提高学生编程能力和创新能力。

关键词:数字图像处理实验流程图难度等级

DOI:

10.16657/j.cnki.issn1673-9132.2016.01.009

数字图像处理是信息科学中发展最快的研究热点方向,是模式识别、计算机视觉、多媒体技术等学科的基础。自从20世纪60年代以来伴随着计算机技术的高速发展,数字图像处理技术获得了长足进步并且已经广泛应用于社会生活的各个领域。从20世纪80年代开始,我国部分高校开始设置数字图像处理课程,目前其已经成为高校信息类专业普遍开设的一门课程。我校计算机学院、信息学院和电气学院的相关专业都开设了数字图像处理课程。

然而,目前数字图像处理课程遇到如下几个问题:(1)数字图像处理课程从本质上说是一门研究数学算法的课程,而现实的教学情况是学生普遍数学功底薄弱,学生面对抽象的数学问题有严重的畏难情绪,一些学者对此在教学和实验上进行了许多研究[1-4]。(2)计算机类、信息类的相当一部分硕士研究生和博士研究生都在进行和图像处理相关的研究,因此数字图像处理课程成为多个学校研究生入学考试课程或面试课程。(3)目前部分诸如“软件杯”这样的全国大学生竞赛,会选用一些需要图像处理知识的竞赛题目,例如人脸识别及认证登陆、基于视频文件的车辆分析系统等。全国数学建模大赛2013年题目——碎纸片的拼接和复原,也要利用图像处理的知识。

这就要求我们在有限的数字图像处理授课中,如我校计算机专业数字图像处理为32学时,不仅要使得学生掌握数字图像处理,诸如图像变换、图像增强、图像复原、图像编码和图像分割等基本图像处理的算法原理,更要引导学生运用专业知识解决实际问题,并尝试改进,激发学生专业兴趣,培养创新意识。

我自2007年春季学期开始讲授数字图像处理,个人学习经历、多年的教学经验以及和其他优秀任课教师多方交流,深刻认识到编程实现算法,即将枯燥的理论推导转化为立竿见影的实际操作可以激发学生的学习兴趣、激励学生的创造性思维。因此,针对计算机专业的数字图像处理课程的辅助课程——数字图像处理实验,我进行了一些深入的研究。

一、编程语言的选择

鉴于我校计算机专业学生在大二下学期学习数字图像处理课程,此时已经学习的C++编程语言,有一定的编程基础。而MATLAB语言计算矩阵比较方便,并且Image Processing Toolbox提供了一套全方位的参照标准算法、函数和应用程序,可用于进行图像处理、分析、可视化和算法开发。因此,数字图像处理实验课程首先会用两个学时简要介绍MATLAB编程环境和图像中常用函数。在实现具体算法时,编程语言主要选择MATLAB语言,对于部分算法,学生可以选用C++语言实现,这样安排可以使学生掌握不同的编程语言,主要在于编程环境不同,提高学生自学能力。

二、分难度等级的实验设计

学生的学习能力和编程能力有一定的差异,部分实验内容分为三个等级:

1.A等级:绘制算法流程图,并用MATLAB库函数实现相关算法;教学目的:熟练掌握数字图像处理算法。

2.B等级:绘制算法流程图,自己按照流程图用MATLAB语言或C语言编程实现算法;教学目的:熟练掌握数字图像处理算法,提高编程能力。

3.C等级:绘制算法流程图,自己按照流程图用MATLAB语言或C语言编程实现算法,并比较多种相关算法,或分析算法优缺点,改进算法;教学目的:熟练掌握数字图像处理算法,提高编程能力,培养学生创新能力。

实验设计强调两点:(1)流程图的重要性:A、B和C三个等级中都要求学生必须绘制算法流程图。我根据多年教学经验发现,很多学生面对算法不知从何入手,而绘制算法流程图可以使思路清晰,一方面可以更深刻地了解算法本身的含义,另一方面可以将复杂问题简单化,将多个功能简化为一个个小功能,比较容易入手。(2)实验区分难度等级,A等级激发学生学习兴趣,所有学生都必须具备此水平;B等级提高学生编程能力,鼓励学生在A等级基础上自助完成B等级实验;C等级培养学生创新能力,鼓励考研,参加竞赛的学生提前做好准备。

下面列举数字图像处理的其中一个实验——图像空间域平滑。该实验的主要目的是要求掌握几种常见的图像平滑算法,主要涉及的算法有局部平滑法、超限像素平滑法、灰度最相近的K个邻点平均法、最大均匀性平滑法、有选择保边缘平滑法以及中值滤波法。

A等级:绘制所有算法的流程图,并能用MATLAB库函数实现局部平滑法和中值滤波法,给出图像处理结果。

B等级:在A等级的基础上,不用库函数,实现各种算法,给出图像处理结果。

C等级:在B等级的基础上,利用上述算法,对不同的图像进行处理,并对处理结果进行比较分析,鼓励改进算法。

图1示出了4-邻域局部平滑法的流程图和对应的MATLAB程序,属于B等级,不同算法主要区别在于图1中间虚线部分示出部分的两层循环内处理形式,这也是算法核心所在。

图1 局部平滑法流程图和MATLAB程序

三、结束语

目前,计算机类的多种课程实验都是要求学生编程解决一些问题,然而部分学生无从下手,而失去学习兴趣。经验表明,绘制程序流程图,让学生自己将复杂的问题步骤化,从而分解为一个一个小问题,可以引发学生学习兴趣。此外,绘制流程图的过程也是熟悉算法思想的一个重要过程。而区分难度等级的实验设计可以满足不同学生的需求,也可以引导并启发学生面对新算法时如何分析问题,提高学生创新能力。

参考文献:

[1]郑林涛,董永生.Image软件在数字图像处理课程教学中的应用[J].中国电力教育,2014 (8):112-113.

[2]邹焕新,周石琳,雷琳,计科峰,孙浩.数字图像处理课程双语教学的探索与实践[J].计算机工程与科学,2014(36):226-230.

[3]孔韦韦,雷阳,李小曼.军队院校数字图像处理课程的教学优化改革[J].计算机教育,2015(34):34-37.

猜你喜欢
流程图图像处理绘制
Art on coffee cups
基于图像处理的机器人精确抓取的设计与实现
机器学习在图像处理中的应用
放学后
专利申请审批流程图
专利申请审批流程图
基于图像处理的定位器坡度计算
在转变中绘制新蓝图
宁海县村级权力清单36条
Photo Shop通道在图像处理中的应用