当前位置:
文档之家› 基于OpenCV的机器视觉图像处理技术实现
基于OpenCV的机器视觉图像处理技术实现
- > Directo ries ,设置 lib 路径 ,选择 Library files , 将所需要的 OpenCV 库文件路径包含进来[2] . 1. 2 OpenCV 应用程序框架建立
创建简单的 OpenCV 应用程序 ,可按如下步骤 进行 :
a. 首先新建工程 ,文件/ 新建/ 工程/ win32 Ap2 plicatio n 或者 win32 co nsole appiicatio n.
个小区域模板在图像中的移动 ,检测出图像的边缘. Canny 边缘检测算子采用原始图像与平滑滤波
脉冲响应的一阶微分进行卷积运算 ,得到平滑后的
图像 g ( x , y ) = f ( x , y ) h ( x , y ) , 然后再对此图像 计算梯度 ,即
5g
g′x
5x
g ( x , y ) = g′y = 5 g
2 OpenCV 视频图像采集
使用 OpenCV 读入和显示图像 ,相比 VC + + 而言要简单 、方便很多. 用 OpenCV 获取摄像头拍 到的视频图像程序如下 :
# include < cv. h > # include < highgui. h > # include < cxcore. h > void main (int argc ,char 3 argv[ ]) { CvCap t ure 3 capt ure = 0 ; if (argc = = 1| | (argc = = 2 & &st rlen (argv[ 1 ]) = = 1 & &isdigit (argv[ 1 ] [ 0 ]) ) ) { capt ure = cvCap t ure Fro mCAM ( argc = = 2 ? argv[ 1 ] [ 0 ] - ’0’:0) ; } el se if (argc = = 2) { capt ure = cvCapt ure Fro mAV I(argv[ 1 ]) ; } if ( !capt ure) { return ; } Ipl Image 3 current _f ram_ rgb = cvCreate Image (cvSize (320 ,240) ,IPL_D EP T H_16U ,3) ; cvNamedWindow (" w" ,0) ; while (capt ure) { current_f ram_rgb = cvQ ueryFrame (capt ure) ; cvShow Image (" w" ,current_f ram_rgb) ; if (cvWait Key (1) = = 27) { break ; } } cvDest royAll Windows () ; 1机械与电子22010 (6)
(ห้องสมุดไป่ตู้ )
5y
根据卷积运算得 :
g(x ,y) = f (x ,y) h(x ,y)
= f (x ,y)
h(x ,y)
(3 )
由于多采用高斯函数作为平滑滤波器 , h ( x ,
y ) 算子又叫一阶微分高斯算子. Canny 边缘检测中
还要用到非极大点抑制方法限制梯度幅值 ,解决图
像由于平滑后变得模糊而导致的边缘变宽问题. 最
1 OpenCV 环境建立
1. 1 OpenCV 安装与环境变量配置 安装 OpenCV 过 程 中 , 要 注 意 选 中 “Add \
OpenCV\ bin to t he system PA T H" 选项 ,加入到环 境变量 PA T H 中. 安装好的 OpenCV 路径假设为
C :\ Program Files\ OpenCV . 在 VC + + 环境下选择菜单 , Tool s - > Optio ns
基于 OpenCV 的机器视觉图像处理技术实现
王福斌1 ,2 ,李迎燕3 ,刘 杰1 ,陈至坤2 (1. 东北大学机械工程与自动化学院 ,辽宁 沈阳 110004 ;2. 河北理工大学计算机与自动控制学院 ,
河北 唐山 063009 ;3. 东北大学信息科学与工程学院 ,辽宁 沈阳 110004)
f y = (a0 + 2 a1 + a2 ) - (a6 + 2 a5 + a4 )
图 2 So bel 算子模板
So bel 算子为 s ( x , y ) = | f x | + | f y | , f x , f y 可分别用 2 个 3 ×3 卷积核模板来实现 .图像 中的每个像素点都用这 2 个模板做卷积 ,通过这 2
有时只对一帧图像中某一部分感兴趣 ,此时可 以只截取感兴趣区域图像 ( RO I) ,主要用到的变量 及函数如下 :
CvRect RO I_rect _ src ; / / 源图像 RO I 的位置 及大小
CvRect RO I_rect_dst ; / / 目标图像的 RO I cvSet ImageRO I( src_img ,RO I_rect_src) ; / / 基 于给定的矩形 ,设置感兴趣区域函数 cvShow Image (" src_img" ,src_img) ; / / 显示指 定的 RO I 函数 3. 2 对图像进行边缘检测 图像的边缘是图像局部灰度变化最显著的部 分 ,是一幅图像的重要特征之一 ,蕴含了大量的原始 图像信息. 边缘主要存在于目标与目标 、目标与背 景 、区域与区域之间. 数字图像的边缘检测是图像分 割 、图像特征模式识别 、形状特征提取等图像分析与 图像理解的基础. 目前已有很多成熟的边缘检测算 子 ,常用的有差分边缘检测 、梯度边缘检测 、Ro bert s 边缘检测算子 、Prewitt 边缘检测算子 、Kirsch 边缘 检测算子 、So bel 边缘检测算子 、Canny 边缘检测算 子 、二阶微分边缘检测算子中的 Laplace 边缘检测 算子和 Lo G 边缘检测算子等[5] . 其中 , So bel 算子是一种计算梯度值的近似方 法 ,该算法考察一幅数字图像的每个像素上 、下 、左 、
3. College of Informatio n Science and Engineering ,No rt heastern U niversity ,Shenyang 110004 ,China)
摘要 :阐述了在 VC + + 下安装 、构建 OpenCV 编译环境的方法及 OpenCV 应用程序框架的建立. 应用 OpenCV 视频图像采集技术 ,在实验室中获取 3 幅图像 ,在对数字图像处理技术进行理论分析的 基础上 ,利用 OpenCV 实现了对采集图像截取感兴 趣的区域 、对图像进行边缘检测 、对图像进行角点探 测等技术.
动估计和形状描述等. 图像中的角点处具有高的曲 率 ,一般由图像边缘交点或边缘曲率较大的点形成. 角点中蕴含着目标几何形状信息 ,对机器视觉的测 量 、伺服控制等技术的实现具有重要意义.
0 引言
数字图像处理技术是计算机视觉 、机器视觉等
收稿日期 :2010202204 基金项目 : 国家自然科学基金资助项目 (50775029)
·54 ·
技术实现的前提和基础. 图像处理一般为图像像素 级别上的操作 ,高效 、准确的图像处理技术 ,可为图 像分析 、图像理解提供可靠的保证. OpenCV 开源图 像处理算法库在 VC + + 编译环境下运行 ,为数字 图像的处理 、计算机视觉技术应用提供了极大的方 便[1] . 基于 OpenCV 的图像处理技术 ,既可快速 、可 靠地应用于实际工程中 ,又可对一些图像处理算法 进行仿真分析.
关键词 :机器视觉 ;数字图像处理 ; OpenCV ;视 频图像
中图分类号 : TP751 文献标识码 :A 文章编号 :100122257 (2010) 0620054204 Abstract : Expo und t he met ho d of installing and building OpenCV co mpilatio n enviro nment based o n VC + + , f ramework establishment of OpenCV applicatio n p rogram. Acquires t hree ima2 ges in laborato ry using OpenCV video image acqui2 sitio n technology ,o n t he basis of t he t heory analy2 sis to digital image p rocessing technique , realized t he technology of intercepting regio n of interest image ,edge detectio n of image , corner detector of i ma ge . Key words :machine visio n ; digital image p ro2 cessing ;OpenCV ;video image
Realizatio n of Image Process Technology fo r Comp uter Visio n Based o n OpenCV
WANG Fu2bin1 ,2 ,L I Ying2yan3 ,L IU Jie1 , CHEN Zhi2kun2 (1. School of Mechanical Engineering and Auto mation ,Nort heastern University ,Shenyang 110004 ,China ; 2. College of Co mp uter and Automatic Co nt rol , Hebei Polytechnic U niversity , Tangshan 063009 ,China ;