APP下载

图像处理课程教学体系的探索与实践

2012-03-30黄朝兵

电气电子教学学报 2012年2期
关键词:图像处理程序设计学时

黄朝兵,杨 杰

(武汉理工大学信息工程学院,湖北武汉, 430070)

“数学图像处理”是高等学校信息类相关专业的重要专业课程,主要学习应用计算机对数字图像进行处理和分析的基本理论和方法。近年来各高校对该课程的教学和实验进行了一些研究和改革[1-4]。我校电子信息工程专业,图像处理课程安排在大学三年级下学期。高年级学生的工程应用能力培养,必须重视面向对象程序设计和可视化程序设计。我们既着眼于学生对图像处理的理论知识和方法的学习,又要考虑到面向工程实践的程序设计能力的提高。为此,我们通过构建图像处理课程的课程体系,改革教学方法,取得了良好的效果。

1 图像处理课程体系的构建

1.1 课程体系目标

图像处理课程体系的目标是通过图像处理课程的课堂教学和课程实践,使学生了解图像处理的产生、发展和应用,国内外的研究现状和重要成果;使学生理解图像处理的概念、原理、思想方法和处理过程,掌握图像处理技术;使学生能够运用Matlab和VC++编写具有一定功能的软件系统;为学生在今后完成毕业设计、开展工程应用、从事科研及今后就业打好基础。

1.2 课程体系内容

该课程体系包括“数字图像处理”和“图像处理程序设计”二门课程和一门课程设计。“数字图像处理”课程侧重讲解图像处理中的基本概念、基本原理和思想方法,以Matlab作为工具,对算法进行仿真实验,加深学生对算法思想的理解;“图像处理程序设计”侧重讲解用C++和VC++来编程实现图像处理的过程,掌握图像处理技术,训练学生面向工程应用的开发能力;课程设计侧重于给学生设计综合训练题目,使学生在理论分析、算法设计、程序设计、计算、运用标准和规范和查阅资料等方面得到训练,培养学生综合运用所学知识的能力。

2 教学方法改革

2.1 结合问题的教学

在“数字图像处理”的课堂教学中,我们将传统教学与问题式教学相结合。在图像变换、图像增强、图像复原、图像压缩、图像分割、图像表示与描述和彩色图像处理等单元的教学中,我们按照问题引人、分析、解决、总结、应用和扩展等六个步骤进行。

1)问题引人—从实际需要中引人问题。比如图像识别、检索和目标跟踪中,人们只关心图像中的物体或对象而忽略图像的背景,这就需要对图像进行分割以提取需要的物体或对象,于是引人了图像分割问题。

2)问题分析—从图像自身的特点性质出发进行分析,找到解决问题的算法思想。如何分割图像要分析图像的像素值的特点,根据像素值的不连续性提出边缘检测和连接的图像分割方法,根据像素值的相似性提出了阈值分割方法和区域分割方法;通过进一步分析,在边缘检测中有不同的边缘检测算子;边缘连接有启发式搜索、曲线拟合等;在阈值分割的求阈值方法中,有全局阈值法、自适应阈值法、人工法、迭代法、最大类间方差法、最大熵法和最小误差法等;在区域分割方法中,有种子区域生长法和区域分裂合并法。

3)问题解决—根据分析得到的思想,设计和实现具体算法。通过分析,确定各种方法的具体设计和实现步骤,用Matlab语言进行编程实现,并对结果进行分析。在课堂中演示主要方法的设计和实现过程,留一部分由学生练习完成。

4)问题总结—分析各种算法的优点、缺点和适用范围。通过对各种分割方法的分割结果进行实验比较,结合理论分析,总结出它们的特点和适用的情况。

5)问题应用—将得到的理论和方法应用于实际,解决实际问题。让学生收集一些图片,从所学的分割方法中,选择合适的方法进行分割,并对结果进行分析。

6)问题扩展—根据实际应用中发现的新问题,研究解决方案。在实际问题中,可能会出现一些意想不到的问题,比如得到的图像被噪声污染,分割的结果中包含一些小目标等,这就需要在分割之前,对图像进行滤波消除噪声处理,在分割之后采用数学形态学或比较目标大小来去掉小目标。

2.2 结合任务驱动的教学与考核

在“图像处理程序设计”的教学和考核中,将传统方法与任务驱动型方法相结合。课程安排40学时,其中讲课24学时,实验16学时,包括C++程序设计、Visual C++程序设计及用Visual C++进行图像处理程序设计等内容。我们在C++程序设计和Visual C++程序设计采取课堂讲授辅之以实验练习。其中C++部分讲课6学时,实验4学时;VC++部分讲课8学时,实验6学时。在剩下的用Visual C++进行图像处理程序设计部分的教学和课程考核方面结合任务驱动进行。

任务驱动式教学[7]是以学生为中心,其学习围绕着一个目标,基于几项任务,在强烈的问题动机驱动下,进行自主探索和互动协作的学习实践活动。

1)课程考核题作为项目任务

我们设计了十个方面的考核大题作为项目任务,包括图像灰度变换、图像直方图均衡化、图像均值滤波、图像中值滤波和图像梯度锐化、图像Sobel边缘检测、图像LOG边缘检测、图像阈值分割、图像区域生长分割和图像频域低通滤波等。每个项目任务要求学生用Visual C++建立应用项目,建立功能菜单,建立显示原始图像和处理结果图像的对话框,给出实现要求功能的程序设计算法和运行结果等。我们以图像直方图均衡化项目任务为例,要求用VC++实现如下功能。

(1)建立一个单文档的应用项目;

(2)在主框架添加菜单“图像处理”;

(3)实现“显示原图像”功能,并以对话框的形式显示;

(4)实现“显示原图像直方图”功能,并以对话框的形式显示;

(5)实现“图像直方图均衡化”功能,实现“显示均衡化处理后的直方图”功能,并以对话框的形式显示。

2)课堂和实验教学任务

用Visual C++进行图像处理程序设计部分讲课10学时,实验6学时。用4学时介绍与设备无关位图文件在Windows下的存储结构,建立DIB类,用于实现位图文件的打开、位图数据的读取、位图的显示和位图的存储等功能;再用6学时来介绍十个大题中图像处理算法的VC++程序设计思想和方案,讲述算法的关键部分。学生根据考核题任务,通过课堂学习和实验,参考教材和相关资料之后,自己设计程序完成。

3)任务考核

课程结束之后,教师对学生任务完成的情况进行考核,考核包括项目软件演示运行、答辩和提交项目报告。

3 结语

我们认为,对高年级本科生的培养和训练侧重点要放在知识的综合运用和工程实践上。通过构建图像处理课程的课程体系,强化了图像处理知识的学习和掌握;通过采用结合任务驱动的教学和考核方法,培养了学生用VC++开发或二次开发图像处理应用系统的能力。经过这样的系统性知识的学习和综合性能力的训练,学生初步具备了进行工程应用和科学研究的基础和能力。学生普遍感到这门课学习收获很大,VC++图像处理编程能力得到很大提高,只有理论与实践相结合才能达到最好效果。

[1]薛天祥,陈玉琨.高等教育学.桂林:广西师范大学出版社,2009.2

[2]孙绍荣.高等教育方法概论.上海:华东师范大学出版社,2010.12

[3]黄颖.数字图像处理开放式教学平台的实现[J].南京:电气电子教学学报,2006,28(4):95 -97

[4]张坤华,纪振.数字图像处理可视化教学体系探索[J].南京:电气电子教学学报,2007,29(1):113-115

[5]明冬萍.数字图像处理课程教学研究[J].北京:中国科教创新导刊,2008,(25)169 -170

[6]范春年.数字图像课程教学研究[J].北京:中国电力教育,2010,(27):109 -111

[7]杨盛泉,刘白林,刘萍萍.简谈C程序设计课程的任务驱动教学方法[J].北京:计算机教育,2010,(6):131-134

猜你喜欢

图像处理程序设计学时
第二课堂成绩单制度下的学时发放标准的探索
——以中国民用航空飞行学院为例
《诗词写作》课程教学大纲(节选)
教学大纲国画(工笔花鸟)
探索学时积分制 构建阶梯式成长激励体系
基于Visual Studio Code的C语言程序设计实践教学探索
基于ARM嵌入式的关于图像处理的交通信号灯识别
从细节入手,谈PLC程序设计技巧
基于图像处理的机器人精确抓取的设计与实现
机器学习在图像处理中的应用
高职高专院校C语言程序设计教学改革探索