- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于OpenCV的数字图像处理实验教学研究.doc
基于OpenCV的数字图像处理实验教学研究
[摘 要]在数字图像处理的实验教学中引入OpenCV,具有其合理性和必要性。OpenCV处理图像的应用于图像变换和图像边缘检测。将OpenCV引入数字图像处理的实验教学中,既能简化图像处理的编程,又能切实地提高学生的实践能力,使学生深入理解图像处理的基础理论和典型算法,获得了良好的实验教学效果。
[关键词]数字图像处理 OpenCV 实验教学 项目教学
[中图分类号] G642.423 [文献标识码] A [文章编号] 2095-3437(2013)09-0042-02
一、引言
目前,大多数高校的数字图像处理课程都是在引入Matlab集成的工具箱及其自带函数的基础上进行实验教学[1]。由于Matlab程序的移植性较差,学生学习完成后不能直接面对实际的软件开发和应用,难以真正提高学生的工程实践动手能力。
为了让学生既能掌握基本理论和技术,又能较容易编写算法的程序,我们在数字图像处理的教学中引入了开源的计算机视觉库OpenCV(Open Source Computer Vision Library)。该软件是以C 函数和C++类的形式实现大量图像处理算法,学生可以方便地利用OpenCV 进行图像处理算法的编程和验证,进而在VC中开发功能更强大的应用程序。相对于Matlab而言,学生不仅可以利用OpenCV 开放的源代码,以函数进行图像处理,而且可以查看算法的代码实现,更好地培养学生的编程能力[2]。
二、OpenCV概述
OpenCV是Intel公司资助的面向广大研究人员和学生的开源计算机视觉库,它由一系列C函数和少量C++类构成,实现了图像处理和计算机视觉方面很多通用算法,同时提供了MatLab等语言的接口,因此极大地方便了图像处理和视频技术的二次开发[3]。
OpenCV主要包含六大模块,其具体功能分别是[3]:(1) CV模块:包含基本的图形处理函数和高级的计算机视觉算法;(2) CVAUX模块:包含辅助的OpenCV函数,一般存放一些被淘汰的算法和函数,同时也包含一些新出现的实验性的算法和函数;(3) CXCORE模块:包含OpenCV的基本数据结构和线性代数支持;(4) HIGHGUI模块包含图像和视频的界面函数;(5) ML模块:包含一些基于统计的分类和聚类工具,模式识别算法和回归分析等;(6) CVCAM模块:负责读取摄像头数据的模块。
利用OpenCV进行程序开发具有以下几个特点[4]:(1) 独立性。OpenCV中大量的函数和类库既可以独立运行,也可以在加入其它外部库的情况下运行;(2) 跨平台性。构成OpenCV的API函数具有跨平台性,不仅能很好的支持各种不同的操作系统,也可以很好地在不同公司的C/C++编译器下工作;(3) 功能强大。OpenCV包含了线性表、树、图等基本数据结构,也包含图像滤波、边缘检测和数字形态学等数字图像处理的基本操作以及一些图像高级处理功能;(4) 高效性。OpenCV的算法都是基于动态数据结构,使用Intel处理器指令集开发的优化代码,运行速度快,处理效率高;(5) 开放性。OpenCV的源代码是开放的,程序设计者可以直接修改它的源代码,也可以将新的函数或类集成到它的库中。
三、数字图像处理的实验设置
实验是理论教学的有效辅助,对于数字图像处理这类实践性很强的课程就更加重要。通过阅读和调试算法源代码、体验算法的处理效果,学生可以加深对基础理论的理解。根据理论教学的重点难点内容,我们设计了相应的实验项目,每个项目都要求学生运用OpenCV和Visual C++编程语言框架来编写数字图像处理基本算法。
项目教学法是针对课程体系结构设计出一系列学习单元项目,项目设计围绕着具有典型性、启发性的关键问题,学生通过参与项目完成的全过程实现对课程内容系统而深入的掌握[5]。项目教学法真正实现了以学生为中心、以教学目标为中心,实现理论方法学习与实践动手能力培养的紧密结合。
本文基于项目教学法的研究,针对“数字图像处理”课程教学体系结构,并结合教学大纲与教学目标要求,同时参考国外大学的相关课程,设置了以下实验项目:
(1) 图像变换。
(2) 图像直方图均衡化。
(3) 频域图像增强。
(4) 图像边缘检测。
(5) 图像分割。
(6) 人脸检测。
通常,学生完成一个项目需要4个过程[6]:(1) 项目原理分析;(2) 项目具体流程设计;(3) 基于OpenCV的软件设计;(4) 结果展示与分析。以上每个阶段都要求学生提交阶段报告,根据学生报告反映出的问题,老师有针对性地进行指导,在解决问题中帮助学生真正掌握所学的知识,并提高动手
文档评论(0)