ARM9+Linux平台上计算机视觉的实现
总第266期2011年第12期
计算机与数字工程
Computer&DigitalEngineering
VoI.39No.12
134
ARM9+Linux平台上计算机视觉的实现+
马智叶林葛俊锋
(华中科技大学控制科学与工程系武汉430074)
摘要文章以在ARM9+Linux平台上实现人脸检测为背景,介绍计算机视觉在嵌入式系统中的实现方法。该系统以OpenCV函数库为核心,通过V4L获取图像,移植MiniGUI实现图像的显示以及人机界面的设计,文章对这些问题作详细介绍,并提出提高系统实时性的方法。
关键词ARM9+Linux;计算机视觉;OpenCV;MiniGUI中图分类号TP391
ImplementationofComputerVision
MaZhi
YeLin
on
ARM9+LinuxPlatform
GeJunfeng
(DeptofControlScience&Engineering.HuazhongUniversityofScience&Technology.Wuhan
430074)
Abstract
ThispaperintroducestherealizationmethodOfcomputervisionintheembeddedsystem.inthebackground
platform.Thesystemisbased
on
ofimplementationoffacedetectionforARM9+Linux
OpenCVlibrary,gets
a
images
tO
throughV4L,andmanagestheMan-machineinterfacebyMiniGULTheseissueswillbedetailedand
prove
simplemethod
im—
thesystemreal-timewillalsobeproposed.
Key
Words
AI洲9+Linux,computer
vision,OpenCV,MiniGUl
ClassNumb针TP391
1
引言
计算机视觉是指用计算机来模拟人的视觉机
计算机视觉,首先需要将OpenCV移植到这个平台
上。目前,OpenCV的最新版本是OpenCV
2.2.0,
鉴于对稳定可靠性的考虑,本系统采用上一个版本
OpenCV
理获取和处理信息的能力,是计算机科学的一个十分热门的分支学科。而要将这些研究成果运用到以ARM为代表的嵌入式系统中,还有一些新的问题需要去解决,如平台移植、图像获取,以及实时性
2.1.0。虽然OpenCV的highgui函数库
可以从摄像头视频流中抓取图像帧,但需要FFm—
peg的支持,简便起见,本文采用Linux专用的
V4I。API接口从摄像头捕获图像帧。另外,因为
OpenCV
不高等问题。然而,计算机视觉系统的设备化、便
携化将是这一分支学科的一个必然方向。
OpenCV由Intel于1999年建立,是一个基于
2.1.0的highgui函数库用在GTK图形
界面,还不支持QTGUI,所以在QT下不能调用highgui的界面函数,为了能显示图片和开发图形用户界面,还需要移植MiniGUI。虽然OpenCV2.2.0已经开始支持QT界面开发,但从效率和占用内存上考虑,还是用MiniGUI开发界面具有明显的优势。MiniGUI为基于Linux的实时嵌入式
BSD许可证授权(开源)发行的跨平台计算机视觉
库,实现了图像处理和计算机视觉方面的很多通用算法,可以运行在Linux、Windows和MacOS操作系统上。于是要在ARM9+Linux平台上实现
*收稿日期:2011年6月19日。修回日期:2011年7月21日
作者简介:马智,男,硕士,研究方向:嵌入式系统、图像处理、信号检测。叶林,男,硕士,教授,研究方向:新型传感器技术、智能检测技术及仪器仪表研究和开发。葛俊锋,男,博士,讲师,研究方向:新型传感器技术、智能检测技术、图像处理。
万方数据
2011年第12期计算机与数字工程
135
系统提供一个轻量级的图形用户界面支持系统。由于图像处理算法很复杂,ARM9很难实现很高的
实时性,本文针对人脸检测具体用途,提出了一种
简单可行的提高系统实时性的方法。
2总体设计
本文主要是以人脸检测为背景,介绍在ARM9+Linux平台上实现计算机视觉的关键问题的解
决与实现,所以首先需对人脸检测系统做一个总体
介绍。
实现人脸检测的硬件平台采用以三星公司的
ARM9.处理器为核心的UTU2440开发
FI。ASH和64MSDRAM,并带
自带了它的驱动,不需要再移植摄像头驱动了,直内核层Linux内核:
IIrltlx2624
/
内核接ll
\
驱动层
摄像头驱动,L(、D驱动、触摸屏
驱动
/
设备接【J\
V4L获取视频流
应
用
Opencv图像处理
层
Minigud羽像显示与人机界面
图l系统软件功能框图
内核层采用Linux内核,版本号为Linux2.6.驱动层直接由内核管理,通过驱动层提供的设应用层主要包括获取图像、图像处理、人机界万方数据
口从ZC301摄像头的视频流中获取图像帧,并将图像帧保存成JPG文件;然后利用OpenCV提供的图像处理算法对JPG图片进行图像处理,包括图像预处理以及人脸检测,如果检测到人脸,则在
原始图片上标记,并重新保存成JPG文件;最后,
利用MiniGUI将人脸检测的结果在LCD上显示出来,同时还需要在MiniGUI的基础上设计人机界面,以方便对系统进行控制。定时重复进行以上处理,就可以实现实时人脸检测。3
OpenCV移植与研究
OpenCV具有强大而全面的功能,例如图像视
图像处理,图像结构分析,目标识别,基本的GUI,
OpenCV移植
要在嵌入式系统中使用OpenCV,必须首先将
11,交叉编译器为arm—linux—gce3.4.1。从OpenCV2.0.0开始,编译源码前需要使用
make,它是一种跨平台的自动化构建系
Visual
C++的projects/workspaces。
于是移植OpenCV的第一步是cmake
in-
¥3C2440
板[3],¥3C2440的最高主频可以达到400MHz,开发板上集成了64M频的输入输出I/0,图像数据的操作,基本的数字
各种动态数据结构,矩阵和向量的操作以及线性代数的算法程序等。本文主要利用OpenCV的一些数字图像处理算法与函数实现人脸检测算法,例如
cvCvtColor()、cvEqualizeHist …… 此处隐藏:8520字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [高中教育]电子线路高频非线性部分2.1
- [高中教育]中班美术活动——我的小手
- [高中教育]常用三极管参数大全
- [高中教育]计算机常见故障及解决办法
- [高中教育]风机基础环水平度控制方法探讨
- [高中教育]机械安全工程(专升本)阶段性作业3
- [高中教育]2009年安徽省高考语文考试说明刍议
- [高中教育]unit5 let's eat公开课教案设
- [高中教育]计算机网络原理课后习题答案
- [高中教育]2016-2022年中国新能源市场研究与投资
- [高中教育]2015-2020年中国会议行业市场评估及投
- [高中教育]经销商大会峰会主持人串词开场白
- [高中教育]2014新版北师大数学三年级上册小熊购物
- [高中教育]七年级第一学期体育与健康全套教案
- [高中教育]第三章:国际金融市场
- [高中教育]六年级下册数学单元测试-2.比例 北师大
- [高中教育]2016年上海海事大学法学院624刑法之《
- [高中教育]中国碳化钙产业竞争现状及未来五年投资
- [高中教育]网络时代,我们怎么玩
- [高中教育]圆锥曲线——高中数学基础知识与典型例
- 高集医院世界艾滋病宣传日活动方案
- 苏教版六年级英语上册期末试卷含答案
- 全民枪战生化英雄模式幽灵怎么玩 生化
- 灿烂的宋元文化一导学案
- 第2章货币资金与应收款项
- 北师大版八年级下册数学第三章《分式》
- 浅析高分子材料成型加工技术
- 华南理工大学2013年度共青团先进集体及
- 教师资格科目二小学教案模板(共合集)
- 工程扩建可研报告
- 中华人民共和国海事局2014年度招录公务
- 提高农村小学生作文能力的教学尝试
- 徒手心肺复苏术操作步骤
- 毛概试题库7-15章
- 2014-2015学年度(上)初中班主任工作计
- 企业驾驶员安全生产责任书
- 第07章 不等式测试题-2016年高考文科数
- 医疗器械经营企业工作程序
- 考研英语必背36篇_彩版_精华
- 初中9月13-15假期作业 (1)




