基于OpenCV的图像处理程序开发方法的研究_第1页
基于OpenCV的图像处理程序开发方法的研究_第2页
基于OpenCV的图像处理程序开发方法的研究_第3页
基于OpenCV的图像处理程序开发方法的研究_第4页
基于OpenCV的图像处理程序开发方法的研究_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于OpenCV的图像处理程序开发方法的研究刘丽梅郑新武陈永明王磊(厦门大学机电工程系,福建厦门 361005摘要:OpenCV是一个开放源代码的机器视觉库,可在应用VC+进行程序开发的过程中,直接调用OpenCV视觉库的特定函数,开发出自己的图像处理程序。文章通过示例程序“Canny边缘检测”,论述了将VC与OpenCV相结合进行图像处理程序开发的具体方法。关键词:OpenCV;VC+;图像处理;边缘检测中图分类号:TP391 TN911.73 文献标识码:A 文章编号:1672-4801(201005-021-04机器视觉和图像处理技术已经广泛应用于工业技术、医疗、航空航天、军事等各个领域

2、。由于视频图像处理程序的开发工作量庞大,如果研发人员自主开发程序必定耗费大量时间和精力。应用OpenCV作为图像处理基础类库,在VC环境下进行程序开发,可以大大缩短开发周期,提高工作效率。1 OpenCV简介1,2OpenCV的全称是Open Source Computer Vision Library,由Intel微处理器研究实验室(Intels Microprocessor Research Lab的视觉交互组(The Visual Interactivity Group开发,是专门用于数字图像处理的函数库,能够在Windows、Linux、Mac平台中运行。它由一系列C函数和少量C+类构

3、成,提供了针对各种格式的视频图像源文件(如:bitmap图像,video文件和实时摄像机视频流的帧提取函数和多种标准图像处理算法,这些函数在具体的开发项目中直接调用,即可完成复杂庞大的开发任务。OpenCV为Intel Integrated Performance Primitives (IPP供了透明接口,如果有为特定处理器优化的IPP库, OpenCV将在运行时自动加载这些库。在具备多核处理器的计算机上,OpenCV能够通过IPP库发挥多核处理器的并行处理能力和多线程计算的功能。OpenCV和IPP库的关系如图1所示。 图1 IPP与OpenCV的关系2 OpenCV的体系结构OpenCV

4、被设计为模块化结构,其中大部分类及库函数都有特定的实际应用背景,因此整个库的体系结构简单明了,如图2所示。OpenCV中每个函数的命名都以“cv”开始,然后是该函数的行为及目标,如cvSnakeImage。根据上述函数体系,研发人员可根据应用程序所要实现的功能,方便地选择所需库函数,快速开发程序。3 基于OpenCV的边缘检测程序的开发只要正确安装OpenCV并在应用程序中正确设置与OpenCV的连接,就可以直接调用其中的图像处理函数,具体步骤如下: 图2 OpenCV的体系结构(1安装OpenCV应用程序3;(2编译所需要的静态和动态链接库文件运行OpenCV workspace->选

5、择菜单file-> openworkspace->找到OpenCV.dsw并打开->选择build->bacthbuild->选择所有项->单击build按钮;(3创建边缘检测项目程序首先,选择菜单“File”-> “New.”-> “Projects”->选择“Win32 Application”或“Win32 console application”;图3 开始创建项目程序其次,键入项目程序名称“edge”,选择存储位置,可为该项目创建一个单独的workspace(选中“Create new workspace”,也可将该项目加入到当前

6、的workspace中(选中“Add to current workspace”;单击“ok”->选择“An empty project”->点击“Finish”;图4 键入项目名称,选择程序类型最后,在工程中添加所需的OpenCV相关头文件,其中“cv.h”、“highgui.h”、“cvaux.h”、“cvcam.h”等头文件是必须的。 (4更改该工程的配置首先,选择菜单“Project”->“Settings.”,激活项目配置对话框,如图5。 图5 更改工程的设置其次,选择“Settings For:”->“All Configurations”,选择“C/C+”

7、-> “Preprocessor”->在“Additional Include Directories:”中增加opencvcxcoreinclude, opencvcvinclude,opencvotherlibshighgui 及可选项opencvcvauxinclude等;选择“Link” ->“Input” ->“Additional library path:”,输入库所在的路径(由安装地址决定如:C:ProgramFilesOpenCV libcvd.lib,C:ProgramFilesOpenCVlibhihghuid.li b,C:ProgramFile

8、sOpenCVlibcvauxd.lib。 图6 添加路径(5更改“Release”的配置首先,选择“Settings For”->“Win32 Release”;其次,选择“Link”->“General”->“Object/library modules”,加入用空格分隔的cv.lib,highgui.lib, cvaux.lib等库文件。 图7 更改“Release”的配置设置完毕后,即可开始程序编写,并在程序中调用OpenCV类库函数,最后编译连接,生成应用程序“edge.exe”。其中,所开发程序的主要流程如图8所示。 图8 边缘检测程序的主要流程运行程序后,处理结

9、果如图1012所示,输出窗口带有阈值滑动条,当阈值不同时,所显示的边缘信息不同,因此通过调节阈值大小,可得到最佳边缘检测效果。 图9 原图 图10 阈值为1时边缘信息 图11 阈值为41时边缘信息 图12 阈值为81时边缘信息4 结束语OpenCV的可移植性好,具备强大的图像和矩阵运算能力,可大大减少开发者的工作量,有效提高开发效率和程序运行的可靠性,已经得到广泛的应用4。运用VC与OpenCV结合进行程序开发,使视频图像处理技术得到了更快发展。参考文献:1于仕琪.OpenCV教程基础篇(第1版M.北京:北京航空航天大学出版社,2007.2Jerome Landre.PROGRAMMING W

10、ITH INTEL IPP AND INTEL OPENCVM.2003.3陈磊.计算机视觉类库OpenCV在VC中的应用J.微计算机信息,2007(12.4马桂珍,朱玲赞,段丽.基于opencv的视频应用程序的开发方法J.现代电子技术.2007(4.5杨淑莹.VC+图像处理程序设计(第2版M.北京:清华大学出版社,2005.6Mathew Price.Using the Intel OpenCV LibraryM.2004.作者简介:刘丽梅(1985年-,女,硕士研究生,研究方向:测试计量技术及仪器。谨致作者敬请本刊作者允诺:稿件中没有侵犯他人著作权或其它权利的内容并且文责自负;投寄给本刊的稿件(论文、图

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论