APP下载

基于ARM9的嵌入式图像采集与显示系统设计

2017-07-06杜小丹

关键词:嵌入式摄像头成都

胡 庆, 杜小丹, 陈 辉

(1.成都大学 信息科学与工程学院, 四川 成都 610106; 2.成都大学 信息网络中心, 四川 成都 610106;3.西南民族大学 电气信息工程学院, 四川 成都 610041)



基于ARM9的嵌入式图像采集与显示系统设计

胡 庆1, 杜小丹2, 陈 辉3

(1.成都大学 信息科学与工程学院, 四川 成都 610106; 2.成都大学 信息网络中心, 四川 成都 610106;3.西南民族大学 电气信息工程学院, 四川 成都 610041)

以嵌入式ARM9处理器S3C2440作为控制芯片,通过USB摄像头对图像进行采集,利用Video4Linux的编程接口编写QT图像显示程序,通过视频服务器MJPG-streamer对网络进行访问,实现了图像的采集和实时显示.所设计的系统实时性好、分辨率高、成本低、易扩展且升级快,可用于远程监控等领域.

嵌入式;图像采集与显示系统;S3C2440;MJPG-streamer

0 引 言

随着嵌入式系统、半导体和互联网技术的飞速发展, 基于Internet的嵌入式远程图像显示系统已成为新的研究热点[1].传统的图像采集设备虽然功能较全, 能满足一般的应用, 但由于价格高且体积大, 越来越不适用于某些特殊的领域的应用[2].而对以应用为中心, 以计算机技术为基础, 系统的软、硬件可裁剪, 并且对系统的可靠性、功能、功耗、体积和成本有严格要求的嵌入式系统[3], 具有体积小、性能高、稳定性强及功耗小等诸多优点[4].本研究以ARM9处理器S3C2440作为控制芯片, 通过USB摄像头采集环境图像, 利用Video4Linux(简称V4L)的编程接口编写QT图像显示程序, 利用视频服务器MJPG-streamer对网络进行访问, 实现了远程图像的采集和实时显示.本系统实时性好、分辨率高且成本低, 可用于远程监控、智能家居及可视电话等领域.

1 系统结构与设计

1.1 系统结构

本系统通过高清USB摄像头进行图像采集,然后将图像信息传送到嵌入式ARM9处理器S3C2440芯片中进行处理,最终通过基于QT/Embedded编写的图形显示程序在LCD上实时显示图像,同时,结合Boa嵌入式网络服务器与MJPG-sreamer实现远程视频监控.系统的整体结构框图如图1所示.

图1 系统整体结构框图

1.2 系统设计

1.2.1 视频图像采集设计.

本系统采用真1 080P谷客HD80高清USB摄像头,其是一款16∶9画幅比例的1 080P全高清摄像头,支持高清视频拍摄功能,最大能够达到1 080P 30帧/s的拍摄速度.同时,镜头旁边设计有手动对焦旋钮和触控式的夜视补光灯,以方便调焦距以及夜间拍摄.

视频图像的采集由摄像头将目标图像生成光学图像,并经摄像头的图像传感器表面转化为模拟电信号,再由A/D转换变成数字图像信号,最后送到DSP芯片中处理后再通过S3C2440的USB接口传输到开发板芯片中待采集处理.

Linux kernel中有USB摄像头万能驱动GSPCAbased webcams,当插上USB摄像头时能够自动适配,并同时配置好V4L视频接口,方便后续视频应用程序调用处理视频信息.

V4L是Linux中关于视频设备的内核驱动,为针对视频设备的应用程序编程提供一系列接口函数,这些视频设备包括TV卡、视频捕捉卡和USB摄像头等[5].V4L分为2层:底层是音频和视频设备驱动程序的内核;上层为系统提供一些API接口信息[6].

图像视频采集流程为:利用系统调用函数-fd=open(),打开视频设备;通过ioctl()获取设备的基本信息,读取video-picture中信息获取设备采集图像的各种属性;使用Mmap()进行单帧图像采集,处理视频信息;调用函数ioctl(),激活设备并开始1帧图像的截取;完成采集以后,关闭视频设备.其流程设计如图2所示.

图2 图像视频采集流程

1.2.2 视频图像显示设计.

QT Embedded是NOKIA公司的图形化界面开发工具QT的嵌入式版本,其继承了QT支持跨平台开发的优点,通过QTAPI与Linux I/O以及Framebuffer直接交互,拥有较高的运行效率,而且整体采用面向对象编程,拥有良好的体系架构和编程模式[7].

通常,由于高清图像的数据量较大,这在数据传输上带来较大困难,如会在目标板上出现显示闪烁等问题[8].本研究利用QT为图像处理提供的类QPixmap,采用双缓冲技术来解决此类问题.基于QT/Embedded的图像视频显示设计是通过定时器实现视频图像的连续采集和显示的.首先,通过QTimer类设置定时启动触发周期,每隔一个定时器时间就触发调用采集函数,从而实现视频图像的连续采集;然后,将采集到的数据经由QPixmap类绘制到屏幕,实现视频图像的实时显示.其流程设计如图3所示.

图3 基于QT/Embedded的图像视频显示设计流程

1.2.3 移植MJPG-streamer视频服务器.

MJPG-streamer是一种免费的视频流服务器软件,其使用基于V4L2框架的视频服务器软件设计,能够把JPEG格式图像通过TCP/IP网络传输到浏览器端进行浏览显示[9],并利用了某些webcams的硬件压缩功能来降低服务器CPU的开销,无需为视频帧压缩浪费大量的计算效率,为嵌入式设备和一些常规服务器提供了一个轻量且更少CPU消耗的方案[10].

本研究使用MJPG-streamer的输入组件input-uvc获取摄像头拍摄的图像,并将其压缩编码为JPEG格式的图像数据,使用输出组件output-http实现浏览器访问服务器并监控和显示视频图像,且使用文件存储组件Output-file将接收到的压缩图像保存到指定目录中,实现视频图像的存储.MJPG-streamer工作流程如图4所示.

2 系统调试

启动mini24440开发板, 并连接好路由器, 接上USB摄像头(见图5).然后, 系统自动安装USB驱动程序, 打开本地摄像头QT预览程序, 图像采集与显示系统界面如图6所示.最后, 关掉本地预览程序, 启动监控服务器, 利用局域网还可通过PC或智能手机等设备访问实时监控图像.同时, 通过配置路由器将系统的服务器映射到外网所在IP地址(如202.101.59.32)的8080端口(端口在MJPG-streamer已经默认配置).打开智能设备的浏览器,输入地址202.101.59.32:8080即可访问服务器,网页工作主页如图7所示,效果如同在局域网内访问.

图4 MJPG-streamer工作流程

图5 USB接插设备

图6 图像采集与显示系统界面

图7 网页工作主页

3 结 语

本研究以嵌入式ARM9架构的S3C2440为硬件平台,通过USB摄像头采集视频图像,利用V4L的编程接口编写QT图像显示程序,由MJPG-streamer视频服务器实现了远程视频监控,使用Yaffs根文件系统,对图像数据进行保存,实现了视频图像的采集和远程实时显示.本研究所设计的系统完全可扩展用于防盗监控、智能家居及视频电话等领域,具有功耗低、实用性强及实时性好等优点.

[1]孟超.基于嵌入式系统图像采集与传输设计[D].无锡:江南大学,2009.

[2]李欢.嵌入式Linux图像采集与显示系统设计[D].武汉:武汉科技大学,2011.

[3]林晓焕,杨方彪.基于ARM9的视频采集,压缩及传输[J].通信技术,2012,45(7):114-116.

[4]黄建刚,周墨霖,罗正华.基于ARM11的嵌入式Web服务器设计与应用[J].成都大学学报(自然科学版),2016,35(4):368-370.

[5]段智文,陈惠.基于Video for Linux内核的USB摄像头视频信号采集实现[J].价值工程,2011,30(5):152-153.

[6]吴健.基于ARM的嵌入式USB图像采集与显示[J].现代显示,2011,127(8):39-42.

[7]王统,秦会斌,胡永才.基于QT/Embedded的智能家居控制系统的设计[J].电子设计工程,2015,23(7):159-161.

[8]张建伟,陈二阳,赵永鑫.基于网络摄像机的图像处理平台设计与研究[J].成都大学学报(自然科学版),2014,33(2):138-140.

[9]刘魏,唐健,袁芳.基于MJPG-streamer的视频监控研究[J].轻工科技,2016,208(3):68-69.

[10]MJPG-streamer.摄像头采集图像:MJPG-streamer[EB/OL].[2014-03-27].http://www.open-open.com/lib/view/open1395837461493.html.

Design of Embedded Image Acquisition and Display System Based on ARM9

HUQing1,DUXiaodan2,CHENHui3

(1.School of Information Science and Engineering, Chengdu University, Chengdu 610106, China;2.Information Network Center, Chengdu University, Chengdu 610106, China;3.College of Electric and Information Engineering, Southwest University of Nationalities, Chengdu 610041, China)

The embedded ARM9 processor S3C2440 is used as the control chip.The images are captured by USB camera.The QT image display program is written by using the Video4Linux programming interface.The video server MJPG-streamer is used to access network.The system realizes real-time acquisition and display for video image and has practical value with good real-time property,high resolution,low cost,easy extension and upgrade.It can also be used in remote monitoring and some other fields too.

embedded technology;image acquisition and display system;S3C2440;MJPG-streamer

1004-5422(2017)02-0176-04

2017-05-06.

四川省科技厅科技支撑计划(2015GZ0275)资助项目.

胡 庆(1977 — ), 女, 硕士, 副教授, 从事通信电路与物联网技术研究.

TP391.41;TP274.2

A

猜你喜欢

嵌入式摄像头成都
浙江首试公路非现场执法新型摄像头
摄像头连接器可提供360°视角图像
TS系列红外传感器在嵌入式控制系统中的应用
穿过成都去看你
数看成都
搭建基于Qt的嵌入式开发平台
嵌入式软PLC在电镀生产流程控制系统中的应用
成都
奔驰360°摄像头系统介绍
倍福 CX8091嵌入式控制器