基于OpenCV的视频图像处理应用研究

  • 格式:pdf
  • 大小:213.83 KB
  • 文档页数:4
(1)QT 软 件 包 。 包 括 QT/X11 2.3.2 库 、QT/Embedded 2.3.2 库 、Qtopia 1.7.0 库 、uic 工 具 、qmake 工 具 、tmake 工 具 和 QT designer 工 具 等 。
(2)OpenCV 软 件 包 。 包 括 Libhighgui.so.0.9.7 、 、Libcxcore.so.0.9.7 和 等 主 要 的 库。
摘 要 : 以 嵌 入 式 ARM 为 硬 件 平 台 , 以 ARM-Linux 为 软 件 平 台 , 在 QT/Qtopia 图 形 用 户 界 面 下 ,
通 过 调 用 OpenCV 图 形 处 理 库 设 计 摄 像 头 应 用 程 序 , 最 终 实 现 把 摄 像 头 采 集 到 的 视 频 流 数 据 显 示 在
文献标识码: A
文 章 编 号 : 1674-7720(2010)21-0014-03
Study of video stream data processing based on OpenCV
GUO Hui1,CHEN Guang1,2
(1. College of Information Science and Technology , Donghua University , Shanghai 201620 , China ; 2.Engineering Research Center of Digitized Textile & Fashion Technology,Ministry of Education,Donghua University,Shanghai 201620,China)
Qtopia 图 形 用 户 界 面 窗 体 上 。 介 绍 了 QT 编 程 的 基 本 原 理 , 阐 述 了 OpenCV 图 像 处 理 库 的 工 作 机 制 与
使用方法。
关 键 词 : 嵌 入 式 系 统 ;ARM-Linux ;QT/Qtopia ;OpenCV
中 图 分 类 号 : TP319
应用程序由两部分构成: (1) 在 ARM -Linux QT/Qtopia 图 形 操 作 系 统 下 的 窗 口界面设计 (即人机界面的设计)。 这部分是通过调用 QT/Embedded 库 的 各 种 库 函 数 与 窗 口 组 件 来 完 成 的 。 (2)对 视 频 流 数 据 进 行 处 理 ,并 把 处 理 完 成 的 图 像 数 据 显 示 在 QT/Qtopia 图 形 界 面 下 。 这 部 分 设 计 是 摄 像 头 应 用 程 序 的 核 心 , 除 了 调 用 QT/Embedded 库 函 数 , 还 要 调 用 OpenCV 库 函 数 。
《 微 型 机 与 应 用 》 2010 年 第 29 卷 第 21 期
软件天地 Software Technology
图 像 数 据 ;(3)LCD 显 示 驱 动 程 序 。 本 文 将 着 重 阐 述 运 行 在 ARM-Linux QT 下 的 摄 像 头 应 用 程 序 。
摄像头应用程序 软件结构
Linux 操作系统
摄像头驱动
LCD 驱动
摄像头
ARM 板
D
硬件结构
图 1 系统的硬件和软件结构
1 嵌入式系统应用程序开发方法 1.1 硬件平台
嵌 入 式 系 统 开 发 平 台 由 主 机 PC 机 和 目 标 机 ARM 板组成。
主 机 PC 要 求 CPU 为 Pentium 4 或 以 上 , 拥 有 一 个 25 针 的 并 口 、 一 个 9 针 的 RS -232 串 口 和 一 个 20GB 的 硬 盘 。 ARM 板 是 由 深 圳 市 武 耀 博 德 信 息 技 术 有 限 公 司 生 产 的 270-S 平 台 。 1.2 软件开发平台
ARM-Linux 操作系统
图 2 摄像头应用程序结构图
2.2 摄像头应用程序的关键技术 本 设 计 应 用 程 序 以 OpenCV 库 和 QT 库 为 核 心 , 负 责
处理视频数据与图像显示。 2.2.1 OpenCV 简 介
开 放 源 代 码 的 计 算 机 图 像 处 理 库 OpenCV (Intel 誖 Open Source Computer Vision Library) 是 由 一 些 C 函 数 和 C++类所组成的库,用来实现图像处理及计算机图像 算 法 。 OpenCV 可 以 与 英 特 尔 公 司 所 开 发 的 图 形 处 理 库 IPL 兼 容 , 所 以 它 能 够 高 效 而 充 分 地 运 行 在 Intel 处 理 器 上,主要用于对图像进行高级处理,例如特征检测与跟 踪 、 运 动 分 析 及 3D 重 建 等 。 2.2.2 嵌 入 式 QT 与 Qtopia 简 介
Key words : embedded system; ARM-Linux; QT/Qtopia; OpenCV
随 着 计 算 机 和 微 电 子 技 术 的 迅 速 发 展 , 嵌 入 式 ARM 及 ARM -Linux 操 作 系 统 已 广 泛 应 用 于 工 业 控 制 、 通 信 、 医疗仪器等各个领域。 许多公共场所和居民小区等地点 都安装了视频监控系统,因而视频监控与显示终端的应 用越来越广泛。 于是,如何以更高的效率和更低的成本 设计视频监控设备的硬件和软件就成为广大研发人员 关心的问题。
视频监控与显示系统的硬件和软件结构如图 1 所示。 硬件由三部分组成:(1)摄像头。 负责采集原始视频 流 数 据 ;(2)ARM 开 发 板 。 负 责 处 理 原 始 的 视 频 流 数 据 ; (3)LCD 液 晶 显 示 器 。 负 责 图 像 数 据 的 显 示 。 软 件 部 分 也 由 三 部 分 组 成 , 这 三 部 分 运 行 在 ARM -Liunx 操 作 系 统 下:(1) 摄像头驱动程序;(2) 摄像头应用程序 。 控制在 ARM 板 把 摄 像 头 采 集 到 的 视 频 流 数 据 读 入 内 存 中 , 然 后对内存中的图像数据进行处理,即把原始图像数据转 化 为 可 以 在 ARM -Linux QT/Qtopia 操 作 系 统 下 显 示 的
QT 是 跨 平 台 C++ 图 形 用 户 界 面 工 具 。 由 于 QT 采 用 面向对象开发,具有跨多平台、界面设计美观等特点,得 到 广 泛 应 用 。 因 为 KDE 等 项 目 使 用 QT 作 为 支 持 库 , 所 以 有 许 多 基 于 X -Windows 的 PC 机 上 的 应 用 程 序 可 以 非 常 方 便 地 移 植 到 QT 上 。
Qtopia 是 由 Trolltech 公 司 开 发 的 基 于 QT 库 的 消 费 电 子 设 备 综 合 应 用 平 台 。 Qtopia 包 含 完 整 的 应 用 层 、 灵 活的用户界面、窗口操作系统、应用程序启动程序以及 开发框架,并具有游戏和多媒体、工作辅助应用程序、同 步 框 架 、PIM 应 用 程 序 、Internet 应 用 程 序 等 。 本 设 计 应 用 程 序 显 示 在 Qtopia 中 。 3 QT 窗 体 的 设 计 方 法
《 微 型 机 与 应 用 》 2010 年 第 29 卷 第 21 期
摄像头应用程序结构图与库函数的调用关系如图 2 所示。
应用程序运 行在 Qtopia Qtopia 环境
摄像头应用程序 2. 视 频 图 像 处 理 与 显 示
1. 图 像 界 面 窗 体 设 计
QT/Embedded 库
OpenCV 库
* 基 金 项 目 : 上 海 市 自 然 科 学 基 金 项 目 ( 08ZR1400400 )
14
述 平 台 具 有 以 下 优 点 : (1)ARM -Linux 与 OpenCV 库 同 为 开源的免费软件,开发者不仅可以根据需要修改源代码 来 提 高 软 件 开 发 的 灵 活 性 ,而 且 可 以 节 约 开 发 成 本 ;(2) OpenCV 库 提 供 了 许 多 视 频 图 像 处 理 的 函 数 , 因 此 开 发 者不需要花费大量的时间自己编写,可以提高软件的开 发 效 率 ; (3)OpenCV 库 中 大 部 分 函 数 都 经 过 汇 编 优 化 , 基 于 OpenCV 的 程 序 运 行 起 来 有 更 高 的 效 率 。
Abstract : The design is based on embedded ARM hardware platform, and its OS is the ARM -Linux QT/Qtopia. By calling OpenCV (Intel誖 open source computer vision library) and QT library, we design the program of the camera which can display the data of the video stream collected by the camera on Qtopia graphical user interface. In addition, the paper also describes basic principle of QT programming, and normal working mechanisms of OpenCV.
在 QT 编 程 中 , 有 两 种 设 计 程 序 窗 体 ( 即 人 机 界 面 ) 的方法。 第一种方法完全采用面向对象的 C++编程语言 实现,开发者需要手工编写所有的代码;另一种是采用 编 写 代 码 与 QT Designer 设 计 工 具 相 结 合 的 方 法 。 QT Designer 工 具 会 帮 助 开 发 者 完 成 大 部 分 绘 制 窗 体 的 工 作 。 本 文 摄 像 头 应 用 程 序 的 设 计 采 用 第 二 种 方 法 。 QT Designer 是 QT 系 统 专 用 的 窗 口 界 面 开 发 工 具 , 它 不 包 含 任 何 编 译 器 , 而 仅 仅 提 供 一 个 可 视 化 界 面 编 辑 器 。 QT Designer 将 编 辑 完 成 的 窗 体 界 面 通 过 XML 保 存 为 .ui 文