【VC++开源代码栏目提醒】:本文主要为网学会员提供“(论文)基于OpenCV的图像处理_[完稿] - 学士论文”,希望对需要(论文)基于OpenCV的图像处理_[完稿] - 学士论文网友有所帮助,学习一下!
翻1年7丹 电子灞试 JuL2011 Il 7 j啊 ELEcTRONlc TEsT No.7 基于OpenCV的图像处理 一 , 秦小文,温志芳,乔维维 (中北大学信息与通信工程学院,山西太原,030051) 摘要:OpenCV是近年来推出的
开源、免费的计算机视觉库,利用其所包含的函数可以很方便地实现数字图像 和视频处理。
同时利用面向对象的
vc++6.0编程工具,用c++语言进行程序编写,大大提高了计算机的运行 速度。
本文首先阐述OpenCV的特点以及结构,然后以平滑处理、图像形态学为例介绍了OpenCv在数字图 像处理中的典型应用。
OpenCV算法库为
vc++编程处理数字图像提供了很大的方便,其必将成为图像视频处 理领域的强有力的工具。
关键词:OpenCV;平滑处理;图像形态学 中图分类号:TP391 文献标识码:A Image processing based on OpenCV Qin Xiaowen,Wen Zhifang,Qiao Weiwei (School ofInformation and Communication Engineering,North University ofChina,Taiyuan Shanxi,030051) Abstract:OpenCV which is open and free computer vision library has developed in recent years.We can easily Catty out di百“image processing by making use of its functions.C++programs compiled in the VG++6.0 greatly improve the rate of the computer.The paper first elaborates the feature and architecture of OpenCV.Then it shows the application of OpenCV in di列image processing,taking smooth processing and image morphology by example.The algorithms library ofOpenCV provides great convenience for dealing with digital images using VC++.It is believed that OpenCV becomes powerful tool in the field ofimage and video. Keywords:OpenCV;smooth processing;image morphology0引言 的。
虽然这些软件包对计算机图像处理和计算机视觉的研 人类离不开图像,画面比文字更形象生动,人类70% 究提供很大的便利,但也存在着不足之处:①大多数软件以上的信息来自视觉。
近年来,数字图像处理发展迅速, 包没有高级数学计算函数;②MATLAB虽提供了较为丰富实用价值高,应用范围极为广泛,现已应用于军事技术、 的数学函数,但其运行速度令人担忧;③大部分软件包不政府部门和医疗卫生等多种领域。
数字图像处理研究内容 支持
网络服务器结构的应用程序的开发;④绝大多数
软件很广泛,归纳起来有如下几个方面:图像数字化、图像
压缩、 包不支持可嵌入性。
图像增强、图像分析、图像恢复‘l-嗣。
OpenCV图像处理算法库在v∞编译环境下运行, 随着数字图像处理的日益广泛,众多应用于计算机视 为数字图像的处理、
计算机视觉技术应用提供了极大的方觉和图像处理的软件包相继被开发出来。
从文献【3】可知, 便。
它不仅是完全
免费的
开源软件而且它包含非常丰富的大多数软件包基于计算速度的角度考虑,采用c/C++编写 各类图像处理及识别的函数。
本文主要介绍基于OpenCV 万方数据 型的图像处理的特点以及实例。
加自己的编写程序,直接调用OpenO/中的函数即可实现, 这样不仅降低了开发
程序的难度,而且缩短了相关程序的1 OpenCV 开发周期。
Or圮nCV(open咄computer vision library)诞生于 2 OpenCV图像处理编程实例Intel研究中心,是—个开放源码的计算机视觉库。
OpenCV采用c,C++语言编写,可以运行在Linux/Windows/Mac等 Oi)enCV处理图像包括以下几个步骤:加载图像;显操作系统上。
OpenCV还提供了Python、Ruby、MATLAB 示图像;处理图像。
以及其他语言的接口【4l。
它包含的函数有500多个,覆盖了计算机视觉的许多应用领域,OpenCV主体分为5个模块, 2.1加载图像其中4+NVA女O图1所示。
不同类型的图像内部结构不同,需要根据图像的结构 采用不同的方法将图像文件中的数据读入内存。
OpenCV 的Hi班aⅡ库中提供了cvLoatlmage0函数,可以将图像 数据从文件中加载进来,而且不管加载前图像是什么格式, 加载后它返回的都是—个指向Ipllmage结构体的指针,方 便了后续的处理。
cvLoadlmage()函数原型为:Ipllmage *cvLoadlmage(comt char*fflename,hat iscolof),其中iscolor是 图1 OpenCV的基本结构 辅助参数,可选正数,负数和零3种取值。
图1中并没有包含CvAux模块,该模块中—般存放一些即将被淘汰的算法和函数,同时还有一些新出现的实验 2.2显示图像性的算法和函数。
在窗口中显示出加载的图像,主要由两个函数完成 依据文献〔5_7】总结归纳了一下OpenCV的优点,主 的,cvNamedWindow0和cvShowImage0.cvNamedWindow0要体现在如下几个方面: 也是一个高层调用接Vi,由HighGUI库提供,它用于在 ①跨平台,可移植性好。
OpenCV是由跨平台的 屏幕上创建一个窗口,将被显示的图像包含于该窗口中。
中、高层API构成,很好的支持Windows、Linux、Unix及 cvShowlmage0用于在E述创建的窗II中显示已加载的图像。
MacOSX等操作
系统,可以在大多数的c把++编译器下工 在这里还要提—下3个比较重要的函数。
cvWaitKey0函作; 数使程序暂停,能使用户很好观察到图像;cvReleaselmage0 ②独立性好。
OpenCV包含500多个函数,不依赖外 和cvDesiroyWindow0用于释放所占用的内存。
部库,既可以独立运行,也可以在运行时使用其他外部库; 2.3处理图像 ③源代冯公开。
开发者可以对源
代码进行修改,将自 主要运用OpenCV中的函数去实现图像处理过程中的 己设计的新类添加到库中,只要
设计符合规范,自己的代 一些基本算法,包括彩色转换为灰度、形态学操作、阈值码也可以被别人广泛使用; 2值化和边缘提取等。
④具备强大的图像和矩阵运算能力。
具有丰富的函数 以平滑处理中的高斯平滑为例,其中用到的主要函数处理函数,减少开发者的
工作量,有效提高开发效率和程 是cvSmooth0。
其函数原型为:void cvSmooth(const CvArr序运行的可靠性; +毗,CvArr*dst,int smoothtype=L-W_GAUSSIAN,im paral-;3,hat p就删;根据参数smoothtype ⑤运行速度陕,OpenCFq使用优化了的c和c++
代码 paranl2=0,int paranx3=0,int实现,大大提升了计算机的运行速度。
的不同可实现不同力式的滤波,
常用的有CV_GAUSSIAN- 总之,有了铆le【lcv视觉库,科研开发人员只需添巴万方数据对图像进打}{;大小幻paraml*par:am2的高斯卷积:cv 3结束语MEDIAN一对罔像进行p—I 8paraml的巾值滤波经_l=上高 奉文介绍了基于OpenCV的罔像处理并给卅了实例斯平i骨娃理前后的效果如I刳2和幽州i示 利用OpenCV中的函数使图像处理mJ越变得很简单具仃 很强的实用价值而凡OpenCV免旋,源
代码公开其必 将成为图像视频处理领域的强有力的__】二县 参考文献 〔11张汉衰MATLAB在数字图像处理技术方面的应用 目2原国像 目3高斯}滑后目像 IM】北京:清华大学出版社.2008 以处理膨胀、腐蚀和开闭运算为剜,它fII能 七米虹数字图像处理基础【M】北京:北京科学出版实现消除Ⅱ*声分割出独立的图像元素以眨在图像 社2【H)5中连接相邻的元素其主要包括以下几个雨数:1) 13l喻擎茬.翁秀娟赵q等交互式开放结构计算机哪Crea〔eStrUcturlngElememEx0创建结柑元素:却 视觉平台汀i汁算机工程与应崩,dH*,42(23):78-81cvReleaseSl瑚ctufingElement()删除结构元素:3)cvErodeO 〔4】于fJ:琪刘瑞祯学爿OpenCV(中文版)〔M1北京:腐蚀:4)cvDilate()喀胀:5)cvMorphologyEx{)高级形态学 清华大学出版祉2{)/19变换.在腐蚀}I膨胀的基本操作基础上,完成一些高级的 【副胡法名基于OpenCVI茔|像处理…科技信形态变换四.其中包括开运算、m运算形态学梯度 息,21 J(g),(32):220礼帽和黑帽率文巾1-2)t:1_1运算为例它们实现的效粜图 f剐黎松平听建】_益洪等,n瘦源
代码的计算如图4一圈8所示。
机靓觉粪库OpenCV的应用【JJ汁算机应用与软 件,2tH矗22(8):134 136 【7】方玫喻擎苍李毕强等C++Builder F基于周匦图 OpenCV的数字罔像的处理…汁算机r氍与设 汁.2008,2q(4}:882一B84 【81刘洁,冯督秉张汗灵 ’种图像处理和j1算机视觉 目4原目像 国5镕№后图像 目6膨胀后目像 的开发工肄【J】H算机仿真,20(X),23(11):~}5-3{17 作者简介 秦小文.中北大学信息与
通信工程学院 百一 厩一 A-“ 在读硕士研究生,主要研究方向为视频 序列的检测与跟踪。
E—mail qxwl984512@163 Corn 刖 _一 万方数据