作者:陈博华 戴少鹏
来源:《电子技术与软件工程》2015年第19期
摘 要OpenCV是近年来刚研发出来的一种借助计算机使用的视觉数据库,其可以免费的为用户提供大量的图像处理技术,而且能够运用函数,实现数字图像和视频的制作与处理,而且,能够借助计算机编程技术,运用C语言对程序进行编写,从而能够提高图像处理的效率。本文作者依据多年实际工作经验,对OpenCV的图像处理方法研究分析,以便与同行切磋、交流。
【关键词】OpenCV 平滑处理 图像形态学
在人们生活的环境中,很多事物都是以图像的形式展现出来的,而且通过对图像的处理,能够使抽象的图像给人们留下深刻的印象。现在,图像处理技术的应用日益广泛,能够用于不同的部门,而且能够对图像进行数字化的处理,对图像进行压缩和效果增强。图像技术借助了计算机技术,图像的处理效果更加逼真,而且效率更高,采用C语言编程技术,能够使图像达到更好的视觉效果。OpenCV图像处理技术是一款免费的软件,而且能够借助丰富的函数对不同的图像信息进行识别,提高了图像处理的效率。
1 OpenCV
OpenCV是在网络研究中心产生的一类图像处理技术,其是一个开放的源码构成的,借助了计算机技术,形成的一个视觉数据库。OpenCV在进行图像处理的过程中,使用的是C语言的编写,而且能够在不同的操作系统上进行使用,而且能够根据不同的语言,选择不同的接口,其兼容性比较高。OpenCV软件中的函数就有500多个,几乎能够包含所有的视觉应用,其结构主要有五个部分组成,其中的四个部分如图1 所示。
在图1中,没有显示的是Cvaus组件,这个部分主要是将那些不能使用的函数和算法储存在一起,而且,能够对一些新出现的算法和函数进行归纳。OpenCV软件的优点还是比较多的,主要有以下几点:
1.1 OpenCV能够进行跨平台使用,具有兼容性
OpenCV软件能够在不同的平台上使用,其处理的图像具有移植的功能,其平台主要是由中、高平台构成,而且能够支持不同的系统的操作,而且都能够使用C语言编程。
1.2 OpenCV软件具有性
OpenCV自身就带有500个函数,可以不依赖其他的系统和软件,也不用依靠其他的数据库提供资源,而且能够进行的运行,在运行的过程中也可以使用其他的数据库。
1.3 OpenCV具有公开的源代码
OpenCV的开发者能够对源代码进行更改,而且能够将自己设计的新的函数加入到数据库中,而且能够设计出完善的规范,使代码的使用具有广泛性。
1.4 OpenCV能够实现矩阵和图像的运算
能够进行函数的处理,在图像处理的过程中,自动化的函数处理能够减轻开发者的工作量,提高图像处理的效率,而且能够促进程序的可靠性。
1.5 OpenCV运行的速度快
OpenCV使用了编程技术,从而使计算机编程的速度大为提升。
OpenCV作为一个视觉数据库,研究人员只需要按照编写的程序,就能够对软件的函数进行调动,使程序开发变得简单,而且使程序开发的周期缩短。
2 OpenCV图像处理编程的案例
OpenCV在进行图像处理的过程中,主要是实现对图像的加载,将图像显示出来,以及对图像的处理。
2.1 加载图像
在计算机中,图像的格式有很多种,不同格式的图像,其内部的结构也是不同的,所以,要按照图像的结构运用不同的方法,从而能够将图像的数据直接保存在软件中,OpenCV的数据库中有不同种类的函数,这些函数能够将图像的数据进行分析,然后加载,在加载的过程中,不论图像的格式,在加载后,都会形成一个指向性的结构体,从而能够对图像进行后续的完善。软件中的函数主要是由辅助参数、可选证书、负数和零几种模式构成的。
2.2 图像显示
在计算机的窗口中能够显示出加载的图像,主要是通过几个不同的函数共同完成的,从而形成一个高层的调用接口,一般都是由OpenCV的数据库提供的,其可以在计算机屏幕上建立一个窗口,然后将显示出来的图像放置在窗口上,从而能够在窗口中创建图像。函数可以使图像的处理程序处于暂停的状态,而且能够使用户有更长的时间观察图像,而且能够将OpenCV软件中的内存释放。
2.3 图像处理
在运用OpenCV的函数对图像进行处理的过程中,要运用一些基本的算法,从而能够对图像的色彩进行处理,运用图像的形态学原理,从而能够对图像的边缘进行处理。
在平滑处理的过程中,一般使用的是高斯平滑,在函数使用的过程中,图像在处理的过程中一般采用的是滤波的方式,根据图像处理方式的不同,可以采用不同的滤波方式。
在进行膨胀和腐蚀的运算的时候,为了能够实现对噪声的去除,就需要分割出的图像单元,对图像的元素进行一一分析,然后对图像相邻的元素进行对比,首先要通过函数创建结构元素,然后分析图像的结构,进行图像的膨胀和腐蚀处理,然后完成图像形态的变化,运用开运算和闭运算的形式,从而能够达到图像处理的效果。
3 结语
现在,图像处理技术越来越完善,基于OpenCV的图像处理软件也得到了广泛地应用,其是一款免费的视觉数据库,能够实现图像的化处理,运用自带的函数进行图像的分析和处理。OpenCV能够进行跨平台使用,兼容性比较好,而且实现了源代码的公开,能够对图像加载、显示和处理。在运用OpenCV的函数对图像进行处理的过程中,要运用一些基本的算法,从而能够对图像的色彩进行处理,还可以对图像的形状和明暗进行处理,使图像更加清晰,能够突出重点。
参考文献
[1]王福斌,李迎燕,刘杰,陈至坤.基于OpenCV的机器视觉图像处理技术实现[J].机械与电子,2010,06:54-57.
作者单位
浙江大学信息与电子工程学院 浙江省杭州市 310027