基于OpenCV的图像处理

2014-11-07 10:53苏慧娟于正林张桂林
科技资讯 2014年18期
关键词:图像处理

苏慧娟++于正林++张桂林

摘 要:OpenCV是近年来最受欢迎的计算机视觉应用库。在其基础上编写图像处理代码效率得到有效提高。本文旨在对OpenCV进行一个快速全面简介,通过介绍其数据结构、HighGUI库,图像处理函数使读者能快速形成对OpenCV印象。文章详细介绍了2.4.4版本在VS2010中的安装测试说明。读者能够在此基础上架构自己代码。文章最后通过自适应阈值分割实例来介绍OpenCV的具体应用。

关键词:OpenCV VS2010 图像处理

中图分类号:TP391.41 文献标识码:A 文章编号:1672-3791(2014)03(b)-0018-02

OpenCV诞生于Inter研究中心,采用C/C++编写,包含覆盖计算机视觉众多应用领域的五百多个函数。如工厂产品检测,医学成像,立体视觉和机器人等。Open CV 除可运行在Linux/Windows/Mac等操作系统上之外,提供了Python,mat lab等其他语言接口。其目的在于开发一个普遍可用的计算机视觉库,为基本的视觉应用提供开放且优化的源代码,使开发者能够在这个通用的架构上可以继续进一步的工作。Open CV被设计成可移植性的库。它的代码可被主流编译器进行编译,几乎可运用于所有商业系统,在已知的可运行open CV系统平台上,基于32位的Inter架构的Windows/Linux系统支持最好。最初团队建设性的工作由世界各地的会员接棒,核心开发从Inter转移到别处。OpenCV代码可部分或者整体嵌入其他应用程序中,用户可以选择将自己改进的部分提交到openCV库中,因此这是相对活跃的开发项目。用户可以通过SourceForge网站上的OpenCV库的SVN获得修复bug后的最新的代码。

1 Open CV的结构和内容

Open CV提供了三种基本数据类型:CvPoint,CvSize和CvArr。更为常用的还有由其派生出来的CvRect,CvScalar和IplImage。严格说OpenCv虽是由C语言实现,但是其设计思想却融入了面向对象和面向模板的设计方法。IplImage是对“图像”层次进行编码的基本结构。OpenCV提供大量图像矩阵操作符,实现了图像处理中的基本操作,例如加法、乘法、对角化、正规化等矩阵运算和一些复杂的图像统计操作等。

OpenCV将与操作系统、文件存储和摄像机之类硬件进行交互的函数纳入HighG

UI库中。通过提供一对简单的函数cvLoadImage()、cvSaveImage()来读取和存储图像,这两个函数会自动根据文件的后缀完成所有的编码和解码工作。用户省去了面对各种硬件读入数据麻烦,专心代码部分。此外,利用库中封装的一些函数可以方便的加入一些鼠标、光标、键盘事件响应和滑动条控件。

OpenCV还提供了可以处理更加复杂图像处理变换的函数,将大量高级算法进行封装,用户通过设置其中参数来选择究竟用那种具体算法来实现某种功能。这省去了大量底层代码重复建构过程,使得开发周期缩短。

2 OpenCV在VS2010中的安装简介

以OpenCV最新的安装版本2.4.4在VS2010中的配置为例进行说明。将软件下载解压到某一文件夹下,由于后面频繁的将include文件夹里的库文件进行添加,将其路径复制在写字板可省去频繁手工敲入的麻烦,第一步先设置变量:用户变量和系统变量分别添加上bin文件夹的路径…opencv\build\x86\vc10\bin。若是64位机器,将其中的X86改成X64即可。查询自己机器32还是64可以通过以下路径实现:点击开始-运行,敲入cmd.在出现的命令提示符中输入systeminfo回车即可在系统类型后面查看X86即32位,X64即64位。用户变量下面点击新建建立一个路径是include文件夹所在路径的path。

接下来新建一个工程,通过设置该工程来完成Opencv头文件包含,也可以进行软件测试验证设置是否成功。这里选最简单的完成显示图像lena这一功能的简单代码测试。

uild\x86\vc10\lib中的所有文件即debug 和release版本下的各个库函数。

接下来找一段最简单的显示图像函数将源程序文件添加到新建的工程中。将lena图片放在和源程序一个文件夹里进行调试,若是可以显示图像即验证设置成功。

3 OpenCV应用程序实例

4 结语

OpenCV由于其代码完全开放,用户不但可以对源代码直接使用,而且还可以进行修改,加入新类,此外,开放的源代码对于学习者理解图像处理中很多经典算法的原理及实现过程也是很有帮助的,而且OpenCV操作方便,不但可以作为应用程序的后台处理程序,而且可以作为控制台程序进行操作。OpenCV在众多图像处理领域具有广泛前景。

参考文献

[1] 于仕琪,刘瑞祯.学习OpenCV[M].清华大学出版社,2009.

[2] 郭庆耀.VC2010下安装Opencv2.4.4[EB/OL].http://wiki.opencv.org.cn/index.php/VC_2010%E4%B8%8B%E5%

AE%89%E8%A3%85OpenCV2.4.4.

[3] 贾小军,喻擎苍.基于开源计算机视觉库OpenCV的图像处理[J].计算机应用与软件,2008,25(4):276-278.

[4] 夏宽理.算法基础[M].高等教育出版社,2003.

[5] 阴法名.基于OpenCV图像处理[J].科技信息,2009(32):220.endprint

摘 要:OpenCV是近年来最受欢迎的计算机视觉应用库。在其基础上编写图像处理代码效率得到有效提高。本文旨在对OpenCV进行一个快速全面简介,通过介绍其数据结构、HighGUI库,图像处理函数使读者能快速形成对OpenCV印象。文章详细介绍了2.4.4版本在VS2010中的安装测试说明。读者能够在此基础上架构自己代码。文章最后通过自适应阈值分割实例来介绍OpenCV的具体应用。

关键词:OpenCV VS2010 图像处理

中图分类号:TP391.41 文献标识码:A 文章编号:1672-3791(2014)03(b)-0018-02

OpenCV诞生于Inter研究中心,采用C/C++编写,包含覆盖计算机视觉众多应用领域的五百多个函数。如工厂产品检测,医学成像,立体视觉和机器人等。Open CV 除可运行在Linux/Windows/Mac等操作系统上之外,提供了Python,mat lab等其他语言接口。其目的在于开发一个普遍可用的计算机视觉库,为基本的视觉应用提供开放且优化的源代码,使开发者能够在这个通用的架构上可以继续进一步的工作。Open CV被设计成可移植性的库。它的代码可被主流编译器进行编译,几乎可运用于所有商业系统,在已知的可运行open CV系统平台上,基于32位的Inter架构的Windows/Linux系统支持最好。最初团队建设性的工作由世界各地的会员接棒,核心开发从Inter转移到别处。OpenCV代码可部分或者整体嵌入其他应用程序中,用户可以选择将自己改进的部分提交到openCV库中,因此这是相对活跃的开发项目。用户可以通过SourceForge网站上的OpenCV库的SVN获得修复bug后的最新的代码。

1 Open CV的结构和内容

Open CV提供了三种基本数据类型:CvPoint,CvSize和CvArr。更为常用的还有由其派生出来的CvRect,CvScalar和IplImage。严格说OpenCv虽是由C语言实现,但是其设计思想却融入了面向对象和面向模板的设计方法。IplImage是对“图像”层次进行编码的基本结构。OpenCV提供大量图像矩阵操作符,实现了图像处理中的基本操作,例如加法、乘法、对角化、正规化等矩阵运算和一些复杂的图像统计操作等。

OpenCV将与操作系统、文件存储和摄像机之类硬件进行交互的函数纳入HighG

UI库中。通过提供一对简单的函数cvLoadImage()、cvSaveImage()来读取和存储图像,这两个函数会自动根据文件的后缀完成所有的编码和解码工作。用户省去了面对各种硬件读入数据麻烦,专心代码部分。此外,利用库中封装的一些函数可以方便的加入一些鼠标、光标、键盘事件响应和滑动条控件。

OpenCV还提供了可以处理更加复杂图像处理变换的函数,将大量高级算法进行封装,用户通过设置其中参数来选择究竟用那种具体算法来实现某种功能。这省去了大量底层代码重复建构过程,使得开发周期缩短。

2 OpenCV在VS2010中的安装简介

以OpenCV最新的安装版本2.4.4在VS2010中的配置为例进行说明。将软件下载解压到某一文件夹下,由于后面频繁的将include文件夹里的库文件进行添加,将其路径复制在写字板可省去频繁手工敲入的麻烦,第一步先设置变量:用户变量和系统变量分别添加上bin文件夹的路径…opencv\build\x86\vc10\bin。若是64位机器,将其中的X86改成X64即可。查询自己机器32还是64可以通过以下路径实现:点击开始-运行,敲入cmd.在出现的命令提示符中输入systeminfo回车即可在系统类型后面查看X86即32位,X64即64位。用户变量下面点击新建建立一个路径是include文件夹所在路径的path。

接下来新建一个工程,通过设置该工程来完成Opencv头文件包含,也可以进行软件测试验证设置是否成功。这里选最简单的完成显示图像lena这一功能的简单代码测试。

uild\x86\vc10\lib中的所有文件即debug 和release版本下的各个库函数。

接下来找一段最简单的显示图像函数将源程序文件添加到新建的工程中。将lena图片放在和源程序一个文件夹里进行调试,若是可以显示图像即验证设置成功。

3 OpenCV应用程序实例

4 结语

OpenCV由于其代码完全开放,用户不但可以对源代码直接使用,而且还可以进行修改,加入新类,此外,开放的源代码对于学习者理解图像处理中很多经典算法的原理及实现过程也是很有帮助的,而且OpenCV操作方便,不但可以作为应用程序的后台处理程序,而且可以作为控制台程序进行操作。OpenCV在众多图像处理领域具有广泛前景。

参考文献

[1] 于仕琪,刘瑞祯.学习OpenCV[M].清华大学出版社,2009.

[2] 郭庆耀.VC2010下安装Opencv2.4.4[EB/OL].http://wiki.opencv.org.cn/index.php/VC_2010%E4%B8%8B%E5%

AE%89%E8%A3%85OpenCV2.4.4.

[3] 贾小军,喻擎苍.基于开源计算机视觉库OpenCV的图像处理[J].计算机应用与软件,2008,25(4):276-278.

[4] 夏宽理.算法基础[M].高等教育出版社,2003.

[5] 阴法名.基于OpenCV图像处理[J].科技信息,2009(32):220.endprint

摘 要:OpenCV是近年来最受欢迎的计算机视觉应用库。在其基础上编写图像处理代码效率得到有效提高。本文旨在对OpenCV进行一个快速全面简介,通过介绍其数据结构、HighGUI库,图像处理函数使读者能快速形成对OpenCV印象。文章详细介绍了2.4.4版本在VS2010中的安装测试说明。读者能够在此基础上架构自己代码。文章最后通过自适应阈值分割实例来介绍OpenCV的具体应用。

关键词:OpenCV VS2010 图像处理

中图分类号:TP391.41 文献标识码:A 文章编号:1672-3791(2014)03(b)-0018-02

OpenCV诞生于Inter研究中心,采用C/C++编写,包含覆盖计算机视觉众多应用领域的五百多个函数。如工厂产品检测,医学成像,立体视觉和机器人等。Open CV 除可运行在Linux/Windows/Mac等操作系统上之外,提供了Python,mat lab等其他语言接口。其目的在于开发一个普遍可用的计算机视觉库,为基本的视觉应用提供开放且优化的源代码,使开发者能够在这个通用的架构上可以继续进一步的工作。Open CV被设计成可移植性的库。它的代码可被主流编译器进行编译,几乎可运用于所有商业系统,在已知的可运行open CV系统平台上,基于32位的Inter架构的Windows/Linux系统支持最好。最初团队建设性的工作由世界各地的会员接棒,核心开发从Inter转移到别处。OpenCV代码可部分或者整体嵌入其他应用程序中,用户可以选择将自己改进的部分提交到openCV库中,因此这是相对活跃的开发项目。用户可以通过SourceForge网站上的OpenCV库的SVN获得修复bug后的最新的代码。

1 Open CV的结构和内容

Open CV提供了三种基本数据类型:CvPoint,CvSize和CvArr。更为常用的还有由其派生出来的CvRect,CvScalar和IplImage。严格说OpenCv虽是由C语言实现,但是其设计思想却融入了面向对象和面向模板的设计方法。IplImage是对“图像”层次进行编码的基本结构。OpenCV提供大量图像矩阵操作符,实现了图像处理中的基本操作,例如加法、乘法、对角化、正规化等矩阵运算和一些复杂的图像统计操作等。

OpenCV将与操作系统、文件存储和摄像机之类硬件进行交互的函数纳入HighG

UI库中。通过提供一对简单的函数cvLoadImage()、cvSaveImage()来读取和存储图像,这两个函数会自动根据文件的后缀完成所有的编码和解码工作。用户省去了面对各种硬件读入数据麻烦,专心代码部分。此外,利用库中封装的一些函数可以方便的加入一些鼠标、光标、键盘事件响应和滑动条控件。

OpenCV还提供了可以处理更加复杂图像处理变换的函数,将大量高级算法进行封装,用户通过设置其中参数来选择究竟用那种具体算法来实现某种功能。这省去了大量底层代码重复建构过程,使得开发周期缩短。

2 OpenCV在VS2010中的安装简介

以OpenCV最新的安装版本2.4.4在VS2010中的配置为例进行说明。将软件下载解压到某一文件夹下,由于后面频繁的将include文件夹里的库文件进行添加,将其路径复制在写字板可省去频繁手工敲入的麻烦,第一步先设置变量:用户变量和系统变量分别添加上bin文件夹的路径…opencv\build\x86\vc10\bin。若是64位机器,将其中的X86改成X64即可。查询自己机器32还是64可以通过以下路径实现:点击开始-运行,敲入cmd.在出现的命令提示符中输入systeminfo回车即可在系统类型后面查看X86即32位,X64即64位。用户变量下面点击新建建立一个路径是include文件夹所在路径的path。

接下来新建一个工程,通过设置该工程来完成Opencv头文件包含,也可以进行软件测试验证设置是否成功。这里选最简单的完成显示图像lena这一功能的简单代码测试。

uild\x86\vc10\lib中的所有文件即debug 和release版本下的各个库函数。

接下来找一段最简单的显示图像函数将源程序文件添加到新建的工程中。将lena图片放在和源程序一个文件夹里进行调试,若是可以显示图像即验证设置成功。

3 OpenCV应用程序实例

4 结语

OpenCV由于其代码完全开放,用户不但可以对源代码直接使用,而且还可以进行修改,加入新类,此外,开放的源代码对于学习者理解图像处理中很多经典算法的原理及实现过程也是很有帮助的,而且OpenCV操作方便,不但可以作为应用程序的后台处理程序,而且可以作为控制台程序进行操作。OpenCV在众多图像处理领域具有广泛前景。

参考文献

[1] 于仕琪,刘瑞祯.学习OpenCV[M].清华大学出版社,2009.

[2] 郭庆耀.VC2010下安装Opencv2.4.4[EB/OL].http://wiki.opencv.org.cn/index.php/VC_2010%E4%B8%8B%E5%

AE%89%E8%A3%85OpenCV2.4.4.

[3] 贾小军,喻擎苍.基于开源计算机视觉库OpenCV的图像处理[J].计算机应用与软件,2008,25(4):276-278.

[4] 夏宽理.算法基础[M].高等教育出版社,2003.

[5] 阴法名.基于OpenCV图像处理[J].科技信息,2009(32):220.endprint

猜你喜欢
图像处理
基于图像处理的机器人精确抓取的设计与实现
机器学习在图像处理中的应用
Bayesian-MCMC算法在计算机图像处理中的实践
改进压缩感知算法的图像处理仿真研究
基于图像处理的定位器坡度计算
Photo Shop通道在图像处理中的应用