基于OpenCV的机器视觉图像处理技术实现

合集下载

OpenCV图像处理技术介绍

OpenCV图像处理技术介绍

OpenCV图像处理技术介绍一、概述OpenCV(Open Source Computer Vision Library)是一款用于计算机视觉和机器视觉的开源跨平台库。

它被广泛应用于计算机视觉、图像处理、机器学习、人工智能等领域,是一种非常强大、开放的框架。

本文将重点介绍 OpenCV 图像处理技术,以帮助读者了解它的具体应用和实现过程。

二、图像的读取和展示要使用 OpenCV 进行图像处理,需要先加载图像。

OpenCV 支持多种图像格式,如 BMP、JPEG、PNG、GIF 等。

用OpenCV 加载图像的方法有两种:一种是cv::imread() 函数,另一种是 cv::VideoCapture 类。

cv::imread() 函数可以通过指定图像路径或网络 URL 加载本地或远程图像,读取后返回一个 cv::Mat 对象,然后可以使用cv::imshow() 函数将图像展示在屏幕上。

三、灰度化和二值化灰度化将一个彩色图像转换为黑白图像,使得图像的像素值只有一个亮度值,而没有颜色信息。

在 OpenCV 中,可以通过cv::cvtColor() 函数将一张彩色图像转换为灰度图像。

二值化是将灰度图像中的像素值转换为 0 或 255,即黑色或白色。

它主要用于将图像转换为二进制图像,方便进一步处理。

在OpenCV 中,可以使用 cv::threshold() 函数实现图像的二值化,可以设置操作的阈值、最大值和操作类型等参数。

四、图像滤波图像滤波是指对图像进行平滑或增强的处理方法。

在 OpenCV 中,可以使用 cv::GaussianBlur() 函数实现图像的高斯滤波,可以设置卷积核的大小和标准差等参数,以及边缘处理的方法。

此外,还可以使用 cv::medianBlur() 函数进行中值滤波,cv::bilateralFilter() 函数进行双边滤波,以及 cv::blur() 函数进行均值滤波等。

基于OpenCV的图像处理

基于OpenCV的图像处理
3 利用 Op n 、 e CV进 行 人脸 检 测
O e C 在 计算 机 视 觉 领 域 得 到 广 泛应 用 , 其 突 出 的优 点 是 密 不 pnV 与 可分 的 :
●跨 平台 , 可移 植性好 , 无论 Widw 、iu n o sLn x还是 Ma S都可 以 cO
运行 ; ●支 持 大 多数 C/c +编 译 器 , : 6 V .E 20 、 CN T 05 + 如 VC . CN T 0 8V .E 20 0、
下 面就以人脸检测为例 , 介绍 O eC pn V的应用。人脸检测属 于人脸 识5 (aeR cgio ) J F c eont n第一步 , J I i 人脸大体可 以分为以下几种方法 : 基于神 经 网络 的检测 , 基于特征 的检测 , 于颜色 的检测等 。基于神经 网络的 基 检测 , 需要大量 的真假人脸 图像来训练神经 网络 ; 基于特征的方法是利 用人脸 的一 些特征 , 比如眼睛 、 子等来检测 ; 鼻 基于颜 色的方法是通过 人 脸 的 颜 色 如 黄色 、 色 来 检 测 。 棕 O eC 中 已 经提 供 了训 练 好 的 Har 联 分 类 器 ,使 得 人 脸 检 测 pnV a级 可 以很 方 便 的 实现 。O e C 中 的 Har 征 的 级 联 表 中包 含 的是 bot pnV a特 os 分类器 。所谓 H a级联分类器是指 由若 干个 简单 bot 类器级联成 m" os分 的一个大的分类器 , 被检测的 目标依次通过每一个分类器 , 以通过所 可 有 分 类 器 的 即 可 判 定 为 人 脸 区 域 。Opn V 中的 人 脸 检 测 主要 分 为 四 eC 步, 其具体过程 如下所示 :
图像预处理 r — 加载分类器 r 人脸检测 r — 目 标标记

基于OpenCV环境的SIFT、SURF、ORB算法比较分析

基于OpenCV环境的SIFT、SURF、ORB算法比较分析
7l4
化 工 自 动 化 及 仪 表
第 45卷
基 于 OpenCV环 境 的 SI FT、SU RF、 ORB算 法 比较 分 析
刘 伟 钱 莉
(上 海工 程 技 术 大 学 机 械 学 院 )
摘 要 介 绍 SIFT算 法 、SURF算 法 和 ORB算 法原 理 ,分析 3种 算 法在 特 征 点 的 提 取 帧 率 与 匹 配数 目
上 的差 别 。 实验 结 果 表 明 :ORB算 法在 特 征 点 的提 取 帧 率最 高 ,SURF算 法 次 之 ,SIFT算 法 最低 ;SIFT算
法 的 匹 配数 目最 高 ,SURF算 法 次之 ,ORB算 法 最低 。 关 键 词 图像 处 理 机 器 视 觉 SIFT算 法 SURF算 法 ORB算 法 帧 率 匹配 数 目 特 征 点 提 取 与
作 者 简 介 :刘伟 (1994一),硕 士 研 究 生 ,从 事 机器 视 觉 的研 究 。 通 讯 作 者 :钱 莉 (1980·),讲 师 ,从 事 机 器 视 觉 的研 究 ,99739545@ qq.cor n。
第 9期
刘 伟 等 .基 于 OpenCV 环 境 的 SIFT、SURF、ORB算 法 比较 分析
1.2 SURF算 法 SURF算法最 初 由 Bay H等发 表在 2006年 的
《European Conference on Computer Vision>)上 的论
文 中提 出 ,并 在 2008年 正式 发表 在 《Computer Vi·
sion and Image understanding》上 。SURF算 法 的
SIFT算 法 是 一 种 局 部 特 征 检 测 算 法 。 SIFT 算 法步 骤如 下 :

基于OpenCV的暗视觉图像处理的研究

基于OpenCV的暗视觉图像处理的研究
C h o n g q i n g 4 0 0 0 6 5, C h i n a ; 2 . ab L o r a t o y r o f B i o me d i c a l E n g i n e e in r g , C h o n g q i n g Un i v e r s i t y o f Me d i c a l
1 引 言 Leabharlann 胞, 所 以人 类 视 觉 有 着 明视 觉 和 暗 视 觉 之 分 。人
近年 来 , 数 字 图像 处 理技 术 广 泛 地应 用 于 视频 监控 、 医疗 检i 贝 0 、 图像 通讯 等领 域 。但在低 照 度 的环 境下 , 采集 到 的图像 对 比度 和信 噪 比都很 低 , 往往 不 能满足 实 际 的需 要 。 由于人 眼 的生 理 视 觉 特性 , 我
中 图分类 号 : T P 3 9 1 . 4 1 文献 标识 码 : A DOI : 1 0 . 3 9 6 9 / j . i s s n . 1 0 0 1 — 5 0 7 8 . 2 0 1 3 . 0 3 . 0 1 8
Re s e a r c h o n i ma g e pr o c e s s i n g i n s c o t o p i c
第4 3卷 第 3期
2 0 1 3年 3月
激 光 与 红 外
LASER & I NF RARED
Vo 1 . 43. No . 3 Ma r c h, 2 01 3
文章编号: 1 0 0 1 - 5 0 7 8 ( 2 0 1 3 ) 0 3 - 0 3 1 1 - 0 4
・图像 与信号 处理 ・
基于 O p e n C V 的暗视 觉 图像 处 理 的研 究

基于OpenCV的机器视觉系统开发

基于OpenCV的机器视觉系统开发

基于OpenCV的机器视觉系统开发一、介绍随着计算机技术的不断发展,机器视觉技术已经成为了重要的技术领域之一。

机器视觉技术将摄像头、图像处理技术和机器学习技术相结合,可以实现对现实世界中视觉信号的理解和分析,从而用计算机来完成各种任务。

基于机器视觉技术的应用非常广泛,如自动驾驶、智能安防、工业自动化等。

而OpenCV作为一款免费的开源计算机视觉库,在机器视觉领域应用十分广泛,可用于图像和视频分析、目标检测、人脸识别、光流分析等多个领域。

本文将介绍基于OpenCV的机器视觉系统开发,包括OpenCV 的基础知识和机器视觉系统开发的流程和技巧。

二、OpenCV基础OpenCV是一个跨平台的计算机视觉库,被广泛应用于计算机视觉、机器视觉、机器人和图像处理等领域。

它提供了基于图像和视频处理的各种函数和算法,支持C++、Python等多种编程语言。

在开始使用OpenCV进行机器视觉系统开发之前,需要掌握OpenCV的一些基本知识:1. 图像读取和显示使用OpenCV首先要读取图像,可以使用cv::imread()函数读取图片文件,该函数返回一个Mat类型的矩阵,可以用它来处理读取到的图像数据。

读取图像后,可以使用cv::imshow()函数在窗口中显示图像。

2. 颜色空间转换在实际应用中,常常需要对图像进行颜色空间的转换。

OpenCV提供了灰度图像和彩色图像之间相互转换的函数。

常用的颜色空间包括RGB、HSV、YUV等。

3. 图像处理OpenCV提供了一系列的图像处理函数,如边缘检测、模糊滤镜、二值化等。

4. 目标检测OpenCV提供了一些目标检测的算法,如Haar Cascade、HOG+SVM和深度学习算法等。

这些算法可以用来检测人脸、车牌等目标。

5. 图像匹配OpenCV中提供了图像匹配的算法,可以用来搜索图像中的特定对象,如图像裁剪、标定等。

三、机器视觉系统开发流程机器视觉系统开发涉及的主要步骤包括:1. 需求分析在机器视觉系统开发之前,首先需要进行需求分析。

机器视觉及其应用实验报告

机器视觉及其应用实验报告

机器视觉及其应用实验报告机器视觉是一门利用计算机视觉技术进行图像处理和分析的学科。

通过机器视觉,计算机可以模拟人类感知视觉信息的过程,并基于此进行图像处理、目标检测、物体识别等应用。

本次实验的目标是研究机器视觉的基础概念及其应用,并通过Python编程实现一个实例。

本次实验基于Python语言和OpenCV库进行图像处理和分析。

首先,我们学习了机器视觉的基础概念,包括图像获取、图像处理和图像分析。

图像获取是指利用摄像头或其他设备获取图像数据。

图像处理是指对采集到的图像进行滤波、边缘检测、图像增强等操作,以便更好地识别和分析图像内容。

图像分析是指利用图像处理的结果进行目标检测、物体识别、运动跟踪等应用。

然后,在实验中我们使用Python编程语言和OpenCV库对图像数据进行处理和分析。

我们通过读取图像数据文件,加载图像数据,并利用OpenCV库的各种函数实现图像的滤波、边缘检测和图像增强等操作。

同时,我们还实现了简单的目标检测和运动跟踪算法。

具体来说,我们使用高斯滤波器对图像进行模糊处理,使用Sobel算子进行边缘检测,使用直方图均衡化方法进行图像增强,以及使用Haar级联检测器进行目标检测。

最后,我们通过实验结果验证了机器视觉的应用价值。

我们发现,通过图像处理和分析,计算机可以实现对图像的高效处理和分析,从而达到识别目标、检测运动等目的。

这些应用可以广泛应用于人脸识别、车牌识别、电子游戏等方面。

综上所述,本次实验研究了机器视觉的基础概念及其应用,并通过Python编程实现实例。

通过本次实验,我们对机器视觉有了更深入的了解,并通过实践掌握了图像处理和分析的相关技术。

基于OpenCV在移动端的图像处理技术

基于OpenCV在移动端的图像处理技术作者:刘贤辉来源:《电子技术与软件工程》2017年第09期摘要OpenCV是一个基于(开源)发行的跨平台计算机视觉库,本文主要介绍了opencv 的特点、组件结构以及在移动端开发环境Android studio中的环境搭建流程和相关的图像的边缘检测和直线检测的应用。

经过在移动端的开发应用,相信opencv技术在移动端的图像处理领域能有很大的作为。

【关键词】OpenCV视觉库图像处理 Android平台Opencv全称:Open Source Computer Vision Library,是一个可以移植到其他开发工具中的一个跨平台的图像处理视觉库,它由C++语言编写,主要有C++、C语言接口,为了能在手机等移动端更方便的进行图像处理,我们利用其JAVA接口将opencv视觉库添加到Android的开发工具中,实现了在移动端的图像处理功能。

1 opencv的特点(1)跨平台,有很好的移植性。

Opencv由跨平台的中高层API构成,可以运行在Linux、Windows和Mac OS操作系统上,该库有C++、C、Java接口,我们运用Java接口就可以将Opencv视觉库移植到Android studio开发工具中。

(2)免费、开源,与耗费很高的商业化工具(比如 MATLAB+Simulink)有很大的区别。

(3)高效、快速、使用方便。

Opencv视觉库具有强大的图像运算功能,API中有比较完善的处理函数,能够明显提高开发效率。

2 Opencv在Android studio中的环境搭建流程2.1 安装Java JDK需要完成JDK的下载、安装和环境配置的流程,安装完成后,要运行资源管理器输入Java Version来验证是否安装成功,若显示Java版本信息,则安装成功。

2.2 下载Android Studio开发工具并安装在Android Studio的中文社区下载最新的Android Studio开发工具(要包含Java SDK),并运行Android Studio,根据安装提示进行安装,并运行开发工具。

opencv 2 计算机视觉编程手册

opencv 2 计算机视觉编程手册摘要:1.OpenCV 简介2.OpenCV2 计算机视觉编程手册的内容3.手册的特点和适用对象4.手册的内容安排5.案例与实践正文:OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉库,用于开发各种计算机视觉和机器视觉应用程序。

它包含了大量的图像处理、分割和识别等算法,适用于各种场景。

对于那些想要学习OpenCV 的人来说,《OpenCV2 计算机视觉编程手册》是一个很好的资源。

《OpenCV2 计算机视觉编程手册》以案例的形式介绍OpenCV2.x 的新特性和C++新接口。

手册内容涵盖了OpenCV 的核心功能,如底层数据结构和算法函数,以及图像读写、用户界面操作等。

手册的特点在于很好地平衡了基础知识与进阶内容,要求读者具有基础的C++知识。

因此,该手册既适合想要学习计算机视觉的C++初学者,也适合专业的软件开发人员。

手册的内容安排如下:首先,介绍OpenCV 的基本概念和安装方法;然后,分别讲解OpenCV 的各个模块,如core、highgui、features2d、calib3d 和video 等;最后,通过实际案例和练习,帮助读者巩固所学知识。

通过学习《OpenCV2 计算机视觉编程手册》,读者可以掌握OpenCV 的基本用法和进阶技巧。

此外,手册还提供了最佳实践和建议,以便读者能够确定如何在开发环境中设置OpenCV 以及如何使用各种算法。

总之,《OpenCV2 计算机视觉编程手册》是一本实用性很强的教程,既可以作为高等院校计算机视觉课程的辅助教材,也可以作为图像处理和计算机视觉领域研究人员的参考手册。

基于OpenCV的除草机器人图像处理技术


1 系 统 总 体 方 案
系统 的主 要 功 能 是 针 对 除 草 机 器 人 上视 频 设 备 捕 获 的作 物 图像 进行 高 速 实 时 采 集 和 分 析 处 理 ,并 为 末端 执 行 机 构 提 供 定 位 数 据 。除 草 机 器 人 数 据 流 整 体 结构 图如 图 1所示 。
行 机 构 精 确 运 动 控 制 打 下 了 坚 实 基 础 。
关键词 :除草机器人 ;数字 图像处理 ;OpenCV;机器视觉
中 图 分 类 号 :TP249;S126
文 献标 识 码 :A
文 章 编 号 :1003—188X(2013)12—0162一O4
0 引 言
随着 计 算机 和 微 电子技 术 的 发 展 ,数 字 图像 处 理 技 术 可 以广 泛 地 应 用 于 工 业 、农 业 、航 空 航 天 和 医疗 等各 领 域 。在 众 多 的 计 算 机 视 觉 和 图 像 处 理 的软 件 包 中 ,较 为强 大 的 图像处 理 工 具 有 Matlab中的 图像 处 理 工具 包 ;Mathematica中 的数字 图像 处 理 软 件 包 ;Au. rora公 司 的 LEADTOOLS是 商 用 化 的 计 算 机 视 觉 包 , 其 包 括 了 图像 处 理 服 务 器 开 发 工 具 ;微 软 公 司 的 Vi— sion SDK是 以 C++源代 码 形 式 发 布 ,在 Windows环 境 下运 行 ,研 究 与开 发 图 像 分 析 与 处 理 的开 发 包 。 本 文 选取 OpenCV视觉 库 进 行 实 时 图 像 处 理 ,与 其 它 软 件 包相 比 ,其 优 势在 于 系 统 资 源 占用 少 、代 码 简 约 精 炼 、 运行 安 全 性好 以及 源代 码 完全 开 放 等 。

python+opencv实现机器视觉基础技术(2)(宽度测量,缺陷检测,医学处理)

python+opencv实现机器视觉基础技术(2)(宽度测量,缺陷检测,医学处理) 本篇博客接着讲解机器视觉的有关技术和知识。

包括宽度测量,缺陷检测,医学处理。

在传统的⾃动化⽣产中,对于尺⼨的测量,典型的⽅法就是千分尺、游标卡尺、塞尺等。

⽽这些测量⼿段测量精度低、速度慢,⽆法满⾜⼤规模的⾃动化⽣产需求。

基于机器视觉的尺⼨测量属于⾮接触式的测量,具有检测精度⾼、速度快、成本低、安装简便等优点。

可以检测零件的各种尺⼨,如长度、圆、⾓度、线弧等测量。

利⽤python+opencv⽅法可以进⾏宽度的测量。

步骤是先选取出⼀个矩形,然后进⾏阈值分割,再进⾏反⾊,边缘提取之后进⾏点的选择,输出坐标做出两条线段,根据线段进⾏矩形绘制,这样之后就可以计算两条直线之间的距离,也就是我们需要求得的宽度。

OpenCV是⼀个c++库,⽤于实时处理计算机视觉⽅⾯的问题,涵盖了很多计算机视觉领域的模块。

配合python调⽤c++库,可以很⽅便地进⾏宽度测量,实现要求。

步骤如下:import cv2import cv2 as cvimport numpy as npimport imutilsimg = cv2.imread("1.jpg") ⼿动地进⾏选取我们感兴趣的部分,然后截取出来。

img = imutils.resize(img, width=500)roi = cv2.selectROI(windowName="image1", img=img, showCrosshair=True, fromCenter=False)x, y, w, h = roicv2.rectangle(img=img, pt1=(x, y), pt2=(x + w, y + h), color=(0, 0, 255), thickness=2)s = img[y:y+h,x:x+w] 截取后会出现空⽩区域很多⿊⾊的情况,需要进⾏反⾊,⽤到的⽅法是255去除值。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于 OpenCV 的机器视觉图像处理技术实现
王福斌1, 2 , 李迎燕3 , 刘 杰1 , 陈至坤2 ( 1. 东北大学机械工程与自动化学院, 辽宁 沈阳 110004; 2. 河北理工大学计算机与自动控制学院,
河北 唐山 063009; 3. 东北大学信息科学与工程学院, 辽宁 沈阳 110004)
# 55 #
右邻点灰度的加权差, 计算邻点与被考察的像素点 接近的权值大小.
对某一像素点 [i , j ] , 考虑其临近点的 Sobel 算 子模板, 如图 2 所示, 则像素点 [i , j ] 的偏导数可计 算如下:
¨f x = (a2 + 2a3 + a4 )- (a0 + 2a7 + a6 ) ( 1)
0 引言
数字图像处理技术是计算机视觉、机器视觉等
收稿日期: 2010-02-04 基金项目: 国家自然科学基金资助项目( 50775029)
# 54 #
技术实现的前提和基础. 图像处理一般为图像像素 级别上的操作, 高效、准确的图像处理技术, 可为图 像分析、图像理解提供可靠的保证. OpenCV 开源图 像处理算法库在 V C+ + 编译环境 下运行, 为数字 图像的处理、计算机视觉技术应用提供了极大的方 便[ 1 ] . 基于 OpenCV 的图像处理技术, 既可快速、可 靠地应用于实际工程中, 又可对一些图像处理算法 进行仿真分析.
a. 首先新建工程, 文件/ 新 建/ 工程/ w in32 Applicatio n 或者 w in32 conso le appiication.
b. 创 建 一 个 单 独 的 w orkspace ( cr eat e new w orkspace) , 也 可 以 将 新 的 项 目 加 入 到 当 前 的 w orkspace 中.
3. Colleg e of Infor mation Science and Eng ineer ing, N ortheastern U niver sity , Sheny ang 110004, China)
摘要: 阐述了在 VC+ + 下安装、构建 OpenCV 编译环境的方法及 OpenCV 应用程序框架的建立. 应用 OpenCV 视频图像采集技术, 在实验室中获取 3 幅图像, 在对数字图像处理技术进行理论分析的 基础上, 利用 OpenCV 实现了对采集图像截取感兴 趣的区域、对图像进行边缘检测、对图像进行角点探 测等技术.
1 O penCV 环境建立
1. 1 OpenCV 安装与环境变量配置 安 装 OpenCV 过 程 中, 要 注 意 选 中 ÷ Add \
OpenCV \ bin t o t he syst em PA T H "选项, 加入到环 境变量 PAT H 中. 安 装好的 OpenCV 路径 假设为 C: \ P rog ram F iles\ OpenCV.
gcy
5g
5y
根据卷积运算得 :
¨g( x , y ) = ¨f ( x , y ) á h( x , y )
= f (x , y ) á ¨h( x , y )
( 3)
由于多采用高斯函数作为平滑滤波器 , . Canny 边缘检测中
还要用到非极大点抑制方法限制梯度幅值, 解决图
像由于平滑后变得模糊而导致的边缘变宽问题. 最
后再用双阈值算法剔除假边缘, 并把断续的边缘连
接成轮廓.
图像边缘检测结果如图 3 所示, 其中图 3a 为采
用 Sobel 边缘检测算子; 图 3b, 图 3c 为采用 Canny
边缘检测算子检测结果.
# 56 #
图 3 图像边缘检测
3. 3 对图像进行角点提取 目标物的角点可用于实现视觉特征点提取、运
动估计和形状描述等. 图像中的角点处具有高的曲
率, 一般由图像边缘交点或边缘曲率较大的点形成. 角点中蕴含着目标几何形状信息, 对机器视觉的测
1 机械与电子22010( 6)
} 在上面新建的÷C+ + So urce f ile"中, 输入此程 序, 接入摄像头后, 即可获得视频图像, 实验室中采 集的 3 幅视频数字图像如图 1 所示.
图 1 采集到的 3 幅视频图像
3 O penCV 图像处理技术
OpenCV 数字图像 处理技 术主要 包括图 像变 换、滤波、边缘检测、直方图、几何变换和数学形态学 处理等. 可以很方便地对图像进行采集、底层处理, 为后续的模式识别、机器视觉应用提供高质量的图 像[ 4 ] . 3. 1 截取感兴趣的图像
Realization of Im ag e Process T echnology for Computer V ision Based on OpenCV
WANG Fu- bin1,2 , LI Ying- yan3 , LIU Jie1, CHEN Zh-i kun2 ( 1. Schoo l of M echanical Engineer ing and A utomation, N or theaster n U niv ersity , Shenyang 110004, China; 2. Colleg e of Computer and A ut omatic Contro l, Hebei P olytechnic U niv ersity , T ang shan 063009, China;
¨f y = (a0 + 2a1 + a2 )- (a6 + 2a5 + a4 )
图 2 Sobel 算子模板
So bel 算子为 s( x , y ) = | ¨f x | + | ¨f y | , ¨f x ,
¨f y 可分别用 2 个 3 @ 3 卷积核模板来实现 . 图像
中的每个像素点都用这 2 个模板做卷积 ,通过这 2
c. 点击 ÷nex t ", 之后 选 择, An empt y pro ject/ ok.
d. 新建工程 文件, 文件/ new / f iles, 选择 C+ + Source file/ ok.
1 机械与电子22010( 6)
e. 添 加工程配 置, 工 程/ 设 置/ 所 有配置, 选 中 ÷连接" 标签, 在÷对 象、模 块库" 中添 加÷ cx co re. lib cv. lib ml. lib cv aux . lib highg ui. lib cv cam. lib"模块 库, 至此完成了 O penCV 编程环境的构建[ 3] .
在 VC+ + 环境下选择菜单, T oo ls- > Opt io ns - > Directo ries, 设置 lib 路径, 选择 L ibrary files, 将所需要的 O penCV 库文件路径包含进来[ 2] . 1. 2 OpenCV 应用程序框架建立
创建简单的 OpenCV 应用程序, 可按如下步骤 进行:
关键词: 机器视觉; 数字图像处理; OpenCV; 视 频图像
中图分类号: T P751 文献标识码: A 文章编号: 1001- 2257( 2010) 06- 0054- 04 Abstract: Ex po und t he met hod of installing and building OpenCV com pilat io n environment based o n VC + + , fr am ew o rk est ablishm ent o f OpenCV applicat ion pr ogram. Acquires three imag es in laborat ory using OpenCV v ideo image acqu-i sitio n technolog y, o n t he basis o f t he t heory analysis t o digit al image pr ocessing t echnique, r ealized the t echno logy of int ercept ing reg ion of int erest image, edge det ect ion o f image, corner detect or o f image. Key words: machine vision; digit al imag e processing; OpenCV; video image
2 OpenC V 视频图像采集
使用 OpenCV 读入和显示图像, 相比 VC + + 而言要简单、方便 很多. 用 OpenCV 获取摄像 头拍 到的视频图像程序如下:
# include< cv. h> # include< highgui. h> # include< cxcore. h> void main( int arg c, char* argv [ ] ) { Cv Capt ure* capt ure= 0; if ( arg c= = 1| | ( argc= = 2& & str len( argv [ 1] ) = = 1& & isdig it( ar gv[ 1] [ 0] ) ) ) { capt ure = cvCaptureFro mCAM ( argc = = 2? ar gv[ 1] [ 0] - ø0ø: 0) ; } else if( ar gc= = 2) { capt ure= cvCapt ureF romAV I( arg v[ 1] ) ; } if ( ! capt ure) { ret urn; } IplImage * current _fram _rgb = cvCreat eImag e ( cv Size( 320, 240) , IP L_DEPT H _16U, 3) ; cvNam edWindow ( "w ", 0) ; w hile( capt ure) { current _f ram_r gb= cvQuery Fram e( capt ure) ; cvShow Image( "w ", current_fram_rgb) ; if ( cvWaitKey( 1) = = 27) { break; } } cvDest royAl lWindow s( ) ;
相关文档
最新文档