您现在的位置: 论文网 >> 教育论文 >> 学科教育论文 >> Halcon软件在机器视觉课程实验教学中的应用论文

Halcon软件在机器视觉课程实验教学中的应用

出处:论文网
时间:2016-01-17

Halcon软件在机器视觉课程实验教学中的应用

  中图分类号:TP39 文献标识码:A 文章编号:1672-3791(2014)10(c)-0172-02

  图像处理、图像分析、机器视觉和计算机视觉是彼此紧密关联的学科,其特点均具有很强的理论性和实践性。如果在教学中不重视实践教学或实践教学手段不力,都不利于学生创新能力和动手能力的培养。高校教师应重视理论教学的同时,更要重视实践教学,关键是要找到强有力的教学方式和教学手段,找到恰当的图像处理软件。Matlab科学计算软件具有丰富的图像处理工具箱[1-2],目前被广泛1应用于图像处理的教学中。但是,机器视觉课程具有很强的理论和实践性,一些功能齐全的机器视觉软件,如Halcon和Open CV等软件的出现,为提高这些课程的实践教学效果提供了新的手段。本文将探讨如何应用Halcon软件改进实验教学方式和手段,并结合实例说明Halcon在机器视觉等课程教学中的应用。

  1 机器视觉硬件系统概述

  机器视觉系统[3]是基于机器视觉技术为机器或自动化生产线建立的一套视觉系统,图1为实验用机器视觉系统,包含摄像机、照明光源、镜头、图像采集卡和计算机组成。

  2 Halcon概述

  Halcon 软件是德国MVtec公司开发的一套完善的标准的机器视觉算法包[4],是得到广泛应用的机器视觉集成开发环境,提供了1100多种具备突出性能控制器的库,如图像的运算、图像的几何与数学变换、滤波、色彩分析、Blob分析、形态学计算分析、3D校正等。Halcon软件保障与硬件无关,支持大多数图像采集卡及带有Directshow和IEEE 1394驱动的采集设备。

  Halcon软件包含一个功能强大的交互式软件接口HDevelop,提供一个通用的浏览界面,访问不同的图像采集设备,支持Windows、Linux和Solaris运行环境,为用户搭建了快速有效的图像处理程序开发平台。它甚至可以从图像采集设备中实时捕捉图像。HDevelop拥有很多数据和图像检查的图形工具。它的图形用户界面支持多种显子语言。HDevelop具备语法检查,语法凸现,函数参数的合适取值,后续操作和替代算子建议,程序调试,完整的在线帮助等功能。Halcon软件还可以导出以C++、C#、C、Visual Basic或者VB.NET程序,以嵌入到其他程序中。

  3 实验教学应用实例

  在机器视觉等课程的理论教学中,我们的教学目的是让学生掌握相关的理论知识,在机器视觉等课程的实验教学阶段,我们更要培养学生的算法编程能力和实践应用能力。利用Halcon软件的高度交互式编程环境HDevelop,能编译和测试视觉处理算法,可以方便查看处理结果。再者,Halcon软件自带许多图像处理与机器视觉的相关案例,涵盖了图像处理与机器视觉基础知识的大部分内容[4]。我们在教授学生理论知识的同时,结合案例的讲解,使学生在掌握理论的同时熟悉实践过程,进而培养学生的编程实现能力。因此选择Halcon软件作为教学软件,成为培养学生图像处理和视觉处理算法编程能力和实践能力的又一重要手段。由于篇幅限制,这里仅以利用Blob分析算法实现车牌识别的实例来说明 Halcon软件在机器视觉与数字图像处理等课程教学中的应用。

  Blob分析算法实现车牌定位识别程序如下:

  read_image(Image,'lisence')

  fill_interlace(Image,ImageFilled,'odd')

  threshold(ImageFilled,Region,0,90)

  connection(Region,ConnectedRegions)

  select_shape(ConnectedRegions, SelectedRegions,'width','and',30,70)

  select_shape (SelectedRegions,Letters, 'height','and',60,110)

  sort_region(Letters,SortRegions,'upper_left','true','column')

  read_ocr_class_mlp('Industrial_0-9A-Z.omc',OCRHandle)

  do_ocr_multi_class_mlp(SortRegions,ImageFilled,OCRHandle,Class,Confidence)

  area_center(SortRegions,Area,Row, Column)

  disp_message(3600,['The result is:'], 'window',200,150,'yellow','false')

  for Index:=0 to 6 by 1

  disp_message(3600,Class[Index], 'window',200,300+20*Index,'yellow', 'false')endfor

  上面程序中,利用read_image算子读入要识别的车牌图像,命名为Image,如图2所示;通过fill_interlace算子修改在采集图像过程中造成的两个半幅图像拼接的问题。接着,用threshold算子对图像进行阈值分割处理,分割出含有车牌的图像区域,灰度阈值范围为0~90;接着用connection算子将选择出来的区域进行相联,形成相连区域ConnectedRegions,如图3所示。处理后的图像除了车牌区域使我们的感兴趣区域外,其他的都为干扰区域,于是用算子select_shape通过限定width和height将车牌区域选择出来,如图4所示。车牌区域共有7个,从左至右排序后,利用现有Industrial_0~9A~Z字符库对车牌7个部分进行识别,用到算子do_ocr_multi_class_mlp。识别之后,利用for循环将结果用浅黄色字体显示在窗口中,实验结果如图5所示。

  从上面的车牌识别实例可以看出,HDevelop交互编程环境中的函数概念清楚,用法明了,应用简单。由于每一个HDevelop算子的各个参数都可以在编程过程中及时调整和编辑,这样我们在实验过程中对程序进行单步调试,讲解重要算子的选择、调试和参数编辑,让同学们看到算法运行的每一个步骤,这样同学们就能很快掌握相关知识点。Halcon具备可实时查看图像属性的交互对话框,来查看程序中的参数设置,灰度直方图,特征值柱状图,放大镜和特征检测等。随着学生对HDevelop编写算法的掌握,后续的教学部分可以从HDevelop导出算法代码并集成到应用程序中,例如生成用户界面等,这样同学们就可以开发机器视觉程序,添加用户界面,集成调试生成可执行的应用程序。

  4 结语

  结合机器视觉和图像处理实验教学的特点和难点,我们采用Halcon软件进行机器视觉和图像处理辅助教学,将Halcon引入到机器视觉教学中,通过对典型案例的讲解和程序一步步的调试以及编程过程的演示,对学生进一步理解理论知识有很大的帮助,可以激发学生自己动手编写有特定需求的图像处理算法程序,提高学生的编程实践能力,取得良好的教学效果。由于Halcon易学易用,能很好的激发学生的学习兴趣,我们可以通过课程设计来鼓励学生利用Halcon编写自己的机器视觉算法程序,我们还可以通过毕业设计来让学生编写和开发自己的机器视觉应用程序,从而激发学生的学习和科研热情,提高解决实际问题的能力。

Halcon软件在机器视觉课程实验教学中的应用

论文搜索
关键字:实验教学 视觉 机器 课程 实验 应用
最新学科教育论文
软件工程专业“计算机网络”课程实验教学研
“赛教学训”四位一体化的物联网工程专业人
浅议幼儿美术趣味教学及创新能力的培养
如何利用奥尔夫音乐教学法培养幼儿的创造力
解读体育游戏在初中体育教学中的应用及影响
如何在美术教学中营造快乐的氛围
微积分慕课教学资源与应对策略探究
浅析在德育课教学中如何灌输团队观念
MOOC引领下中学历史课程多元化教学模式研究
“情感过滤”假设对大学英语听力教学探讨
热门学科教育论文
浅谈语文教学中学生创造力的培养
变“教师教,学生学”为“教师教学生学”
素质教育与小学语文教学
小学“语文综合性学习”实践初探
素质教育和小学语文教学改革
现代体育课堂教学重在创新
浅谈《体育课程标准》与体育教师观念的转变
电教手段优化体育教学
陶行知健身思想研究
简论现代游泳技术与训练的发展方向