毕业设计(论文)-嵌入式图像监控系统.doc_第1页
毕业设计(论文)-嵌入式图像监控系统.doc_第2页
毕业设计(论文)-嵌入式图像监控系统.doc_第3页
毕业设计(论文)-嵌入式图像监控系统.doc_第4页
毕业设计(论文)-嵌入式图像监控系统.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目 录第1章 嵌入式图像监控系统总体方案.1.1 系统构成和工作原理.1.2 嵌入式图像监控系统设计方案.1.2.1 USB 摄像头的选择.1.2.2 嵌入式微处理器的选择.1.2.3 嵌入式操作系统的选择.1.3 嵌入式图像监控系统硬件平台设计.1.4 嵌入式图像监控系统软件设计.第2 章 监控软件的设计与实现.2.1 监控软件总体结构.2.1.1 交互模式.2.1.2 系统功能.2.1.3 系统应用程序流程.2.2 多帧图片采集.2.2.1 JPEG 文件.2.2.2 图像采集方法.2.2.3 关键数据结构.2.2.4 多帧图片定时采集实现.2.3 AVI 视频流文件采集.2.4 按键处理应用程序设计.第3章 总结与展望.3.1 总结与展望.参考文献.第1章 嵌入式图像监控系统总体方案1.1 系统构成和工作原理系统构建在嵌入式平台之上,主要组成部分包括USB 摄像头、嵌入式开发板、用户按键、USB 电子硬盘、预留USB HOST 接口、LED 指示灯以及GPRS报警模块等,如图1.1 所示。 图 1.1 系统结构其中各个部分的说明如下:USB 摄像头负责采集图像数据;开发板中的嵌入式微处理器是整个系统的核心,它负责对采集到的图像数据进行处理,如将采集到的图像数据存储成图片保存、将采集到的图像帧数据保存为视频流文件以及将保存的图像数据导出等;用户按键是系统提供给用户的人机交互方式,用户可使用按键实现相应的功能,如图片采集、视频采集、图像数据导出等;USB 电子硬盘负责图像数据的存储;LED 指示灯以及GPRS 报警模块负责当有警情发生时进行报警;预留的USB HOST 接口方便用户接入硬盘或U 盘导出图像数据。1.2 嵌入式图像监控系统设计方案系统的设计分为硬件和软件两大部分。硬件部分包括摄像头和开发平台的选型;软件部分包括系统级软件(Bootloader、操作系统和驱动程序)与用户级软件(应用程序)的设计。1.2.1 USB摄像头的选择USB 摄像头是由镜头(Lens)、图像传感器(Sensor)、数字信号处理芯片DSP(Digital Signal Processor)、外壳模具、USB 连线、电路板及阻容等周边器件构成,其中最关键的是镜头、图像传感器和DSP。USB 摄像头的选择主要从以下三个方面考虑:(1) 镜头(Lens)镜头的组成是透镜结构,由几片透镜组成。一般有塑胶透镜(plastic)或玻璃透镜(glass)。通常摄像头用的镜头构造有:1P、2P、1G1P、1G2P、2G2P、4G、5G 等。采用玻璃镜头的摄像头品质好,成像效果相对塑胶镜头较好。因此,本课题选用的是玻璃镜头的摄像头。(2) 图像传感器(Sensor)图像传感器是一种半导体芯片,它是将光信号转换成电信号的器件。其表面包含有几十万到几百万的光电二极管。光电二极管受到光照射时,就会产生电荷。目前市场上主流摄像头使用的感光元件主要是CCD 和CMOS 两种。它们的作用相当于传统相机中的底片。CCD 的分辨率高,色彩还原逼真,已经成为百万像素级的数码摄影器材里的主角,但是其价格昂贵;与CCD 相比,CMOS 具有节能及成本低等特点,而且在百万像素内CMOS 的感光效果完全可以和CCD 媲美,因此绝大部分的摄像头都采用CMOS 作为感光元件。综合考虑,本课题选用CMOS 感光元件的摄像头。(3) 数字信号处理芯片DSPDSP 通过一系列复杂的数学算法运算,对数字图像信号参数进行优化处理,并把处理后的信号通过USB 等接口传到PC 等设备上。因此控制芯片的好坏,直接决定画面品质(比如色彩饱和度、清晰度)与流畅度。目前用于摄像头的DSP 主要有中国中星微(VIMICRO)公司的301 系列芯片和美国OV 公司的OV511+芯片。中星微301 系列芯片拥有影像光源自动增益补强技术,自动曝光、自动白平衡,色彩饱和度、对比度、边缘增强以及伽马矫正等先进的影像控制技术。动态画面流畅驱动,实时还原真实场景,层次表现力很强,图像变化十分平滑,视觉效果十分舒适。在国内市场上的USB 摄像头基本上采用的是中星微公司的DSP芯片,而OV511+芯片的摄像头则比较难找到。考虑到中星微的市场普及率,本课题选用含有中星微公司的ZC0301P 芯片的摄像头。1.2.2 嵌入式微处理器的选择嵌入式微处理器是嵌入式系统的核心。选择一款合适的嵌入式微处理器应该从应用工程背景、处理器性能、处理器功耗、开发成本、开发难易程度等方面综合考虑。目前,市面上的嵌入式处理器种类很多,据不完全统计,全世界嵌入式处理器的品种总量己经超过一千多种,典型的嵌入式微处理器有ARM、MIPS、PowerPC 等等10,11。(1) ARM(Advanced RISC Machines)公司是全球领先的16/32 位RISC 微处理器知识产权设计供应商。ARM 公司通过转让高性能、低成本、低功耗的RISC微处理器、外围和系统芯片设计技术给合作伙伴,使他们能用这些技术来生产各具特色的芯片。ARM 已成为移动通信、手持设备、多媒体数字消费嵌入式解决方案的RISC 标准。ARM 处理器有三大特点:小体积、低功耗、低成本而高性能;16/32 位双指令集;全球的合作伙伴众多。(2) MIPS 技术公司是一家设计制造高性能、高档次的嵌入式32/64 位处理器厂商。MIPS 是Microprocessor without Inter-locked Pipeline Stages 的缩写,是一种处理器内核标准,它是由MIPS 技术公司开发的。MIPS 技术公司是一家设计制造高性能、高档次的嵌入式32 位和64 位处理器的厂商,在RISC 处理器方面占有重要地位。2000 年,MIPS 公司发布了针对MIPS 32 4Kc 的新版本以及未来64 位MIPS 64 20Kc 处理器内核。(3) PowerPC 以其可伸缩性好和方便灵活的特点也成为应用十分广泛的嵌入式处理器,从高端的工作站、服务器到台式计算机系统,从消费类电子产品到大型通信设备,无所不包。PowerPC 架构的特点是可伸缩性好,方便灵活。PowerPC处理器品种很多,既有通用的处理器,又有嵌入式控制器和内核,应用范围非常广泛,从高端的工作站、服务器到桌面计算机系统,从消费类电子产品到大型通信设备等各个方面。目前PowerPC 独立微处理器与嵌入式微处理器的主频从25MHz700MHz 不等,它们的能量消耗、大小、整合程度、价格差异悬殊,主要产品模块有主频350MHz700MHz PowerPC 750CX 和750CXe 以及主频400MHz 的PowerPC 440GP 等。嵌入式的PowerPC 405(主频最高为266MHz)和 PowerPC440(主频最高为550MHz)处理器内核可以用于各种集成的系统芯片(SOC)设备上,在电信、金融和其它许多行业具有广泛的应用。相比之下,ARM 价格低廉并且功耗很低,开发也相对比较简单。因此,本课题选用基于ARM920T 芯片的S3C2410 微处理器来进行系统的设计和开发。1.2.3 嵌入式操作系统的选择嵌入式操作系统并不总是必须的,因为程序完全可以在裸板上运行。但针对特定的硬件平台和实际应用移植嵌入式操作系统,能够有效管理越来越复杂的系统资源,把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和维护中解脱出来并且能够提供库函数、驱动程序、工具集以及应用程序,大大提高了应用系统的开发效率。嵌入式操作系统的选择主要从以下三个方面考虑:(1) 操作系统的硬件支持,包括操作系统是否支持目标硬件平台,基于该选择的操作系统上开发的嵌入式应用软件是否具有很好的移植性。(2) 开发工具的支持程度,包括在线仿真器、编译器、汇编器、连接器、调试器等能否支持操作系统。(3) 应用需求,包括操作系统的性能、兼容性、技术支持等。从 20 世纪80 年代开始,出现了百余种嵌入式操作系统,比较流行的有:Windows CE、VxWorks、QNX、Palm OS 等,但是开源并且免费的的嵌入式操作系统只有uC/OS-II 和Linux12,13。(1) Windows CEWindows CE 内核较小,能作为一种嵌入式操作系统应用到工业控制等领域。其优点在于便携性、提供对微处理器的选择以及非强行的电源管理功能。内置的标准通信能力使Windows CE 能够访问Internet 并收发Email 或浏览Web。除此之外,Windows CE 特有的与Windows 类似的用户界面使最终用户易于使用。Windows CE 的缺点是速度慢、效率低、价格偏高、开发应用程序相对较难。(2) VxWorksVxWorks 是WindRiver 公司的实时操作系统,它支持各种工业标准,包括POSIX, ANSI C 和TCP/IP 网络协议。VxWorks 运行系统的核心是一个高效率的微内核,该微内核支持各种实时功能,包括快速多任务处理、中断支持、抢占式和轮转式调度。微内核设计减轻了系统负载并可快速响应外部事件。目前在全世界装有VxWorks 系统的智能设备数以百万计,其应用范围遍及互联网、电信和数据通信、数字影像、网络、医学、计算机外设、汽车、火控、导航与制导、航空、指挥、控制、通信和情报、声纳与雷达、空间与导弹系统、模拟和测试等众多领域。(3) QNXQNX 是由加拿大QSSL 公司开发的分布式实时操作系统,它由微内核和一组共同操作的进程组成,具有高度的伸缩性,可灵活地剪裁,最小配置只占用几十KB 内存。因此,可以广泛地嵌入到智能机器、智能仪器仪表、机顶盒、通讯设备、PDA 等应用中去。(4) Palm OS3Com 公司的Palm OS 在掌上电脑和PDA 市场上独占其霸主地位,它有开放的操作系统应用程序接口,开发商可根据需要自行开发所需的应用程序。(5) 嵌入式LinuxLinux 是个与生俱来的网络操作系统,成熟而且稳定。Linux 是源代码开放软件,任何人都可以修改它,或者用它开发自己的产品。Linux 系统是可以定制的,系统内核目前己经可以做得很小。Linux 作为一种可剪裁的软件平台系统,是发展未来嵌入设备产品的绝佳资源。嵌入式Linux 是指对Linux 经过小型化裁减后,能够固化在容量只有几百KB 或几MB 的储存器芯片中,用于特定嵌入式场合的专用Linux 操作系统。 综合考虑,本课题采用嵌入式Linux 操作系统来进行开发。 1.3 嵌入式图像监控系统硬件平台设计.本课题是基于嵌入式系统进行硬件架构的。由于嵌入式系统的高速处理特性以及在图像信号处理中的优势和其它方面如技术支持和设备条件等原因,选用了三星公司的S3C2410A 作为图像处理和中央控制芯片。整个系统硬件结构图如图1.2 所示。 图1.2 系统硬件结构图本课题的系统硬件电路,主要是在满足图像信号数据时序要求严格、数据量大、采集速度快等特点的情况下,保证数据能够稳定可靠的采集并实现压缩、存储和导出。 1USB 摄像头本课题选用Teclast 台电科技的MK55 摄像头。它拥有130 万像素的镜头,采用中星微ZC0301PLH 主控芯片+原装A+级镁光360 彩色传感器,保证了良好的画面效果。摄像头工作原理与过程如下:由 CMOS 图像传感器来采集图像数据,对于其相关设置和图像数据读取可以通过ISP 单元来完成。本课题采用传感器芯片MI360 工作模式是:输出分辨率为640480,图像数据流为8 位RGB 格式。ZC301 提供MI360 所需的各种控制信号,并接收来自MI360 的同步输出信号。ZC301 将输入图像数据经片内图像压缩器硬件压缩后,输出JPEG 格式的图像数据流。通过内置的USB 控制器和外接的USB 收发器经USB 总线送往嵌入式控制系统。嵌入式系统中的S3C2410 内部集成有USB 控制芯片,所以它可以对ZC301 通过USB 接口直接操作。S3C2410 通过对I/O 口进行控制来实现图像的存储。2MC2410E 开发板为了节省开发周期,根据系统设计需求,选用成都博睿嵌入式系统工作室的MC2410E 开发板作为硬件平台15。它由核心板与底板组成,便于用户进行二次开发。核心板上集成了三星公司的微处理器S3C2410A, 64M Nand Flash(K9F1208)以及64M SDRAM (HY57V561620C),底板上集成了一些常规外设接口。3S3C2410A 微处理器MC2410E 开发板选用三星公司S3C2410A芯片作为硬件平台的中央处理器,其主频工作在266MHz,负责完成所有的系统控制,如系统级别初始化、配置、用户接口、用户命令执行等。该芯片采用ARM920T 微处理器作为控制器内核。ARM920T 是高性能和低功耗特性方面最佳的通用系统封装微处理器,它采用5级流水线,具有指令和数据Cache,支持协处理器、片上调试和MMU 等技术,具有体积小、高性能、低功耗等优点。目前,S3C2410 已广泛地应用于PDA、智能手机、机顶盒、嵌入式网络应用、POS 机、数字多媒体等方面。S3C2410A 提供全面的、通用的片上外设,大大降低系统的成本。下面列举了S3C2410A 的主要片上功能16。_ 1.8V ARM920T 内核供电,1.8V/2.5V/3.3V 存储器供电;_ 16KB 指令和16KB 数据缓存的MMU 内存管理单元;_ 外部存储器控制(SDRAM 控制和芯片选择逻辑);_ 提供LCD 控制器(最大支持4K 色的STN 或256K 色TFT 的LCD),并带有1 个通道的LCD 专用DMA 控制器;_ 提供4 通道DMA,具有外部请求引脚;_ 提供3 通道UART(支持IrDA1.0,16 字节发送FIFO及16 字节接收FIFO)/2 通道SPI 接口;_ 提供1 个通道多主IIC 总线控制器/1 通道IIS 总线控制器;_ 兼容SD 主机接口1.0 版及MMC 卡协议2.11 版;_ 提供2 个主机接口的USB 口/1 个设备USB 口(1.1 版本);_ 4 通道PWM 定时器/1 通道内部计时器;_ 提供看门狗定时器;_ 提供117 个通用I/O 口/24 通道外部中断源;_ 提供电源控制不同模式:正常、慢速、空闲及电源关闭模式;_ 提供带触摸屏接口的8 通道10 位ADC;_ 提供带日历功能的实时时钟控制器(RTC);_ 具有PLL 的片上时钟发生器。4各模块电路工作原理若要将本课题设计的嵌入式图像监控系统进一步产品化,需要重新设计电路。在电路设计中,可以利用嵌入式系统硬件可裁剪的优点,以及各硬件模块电路工作的独立性,只裁剪需要用到的电路模块,即可以达到节约开发成本和周期、缩小产品体积的目标。下面介绍系统中用到的各模块电路的原理图设计及其工作原理。(1) 电源和复位电路通过5V 电源适配器接入系统。通过LM1117 芯片产生5V、3.3V 系统电源。复位模块通过按键、限流电阻接入S3C2410 的nRESET 脚。复位电路可完成系统上电复位和在系统工作时用户按键复位。下图一所示为电源电路,下图二所示为复位电路。 图一 电源电路 图二 复位电路 (2) 存储模块电路系统的存储模块包括SDRAM 和ROM 两部分。在嵌入式系统中,ROM 是一种可进行电擦写,掉电后信息不会丢失的存储器,用于存放程序代码、常量表以及一些系统掉电后需要保存的用户数据等;SDRAM 是系统的内存,它不具有掉电保持数据的特性,但其存取速度大大高于Flash 存储器,在系统中主要用作程序的运行空间、数据及堆栈区。当系统启动时,CPU 首先从复位地址(一般是0x00000000 地址)读取启动代码,在完成系统的初始化后,程序代码被调入SDRAM 中运行以提高系统的运行速度。本课题采用64M SDRAM 和64M NAND Flash 相结合,完成系统存储电路的设计。本课题所采用的是三星公司的K9F1208芯片。K9F1208 是512 Mb(64M8 位)NAND Flash 存储器。该存储器的工作电压为2.73.6V,内部存储结构为528 字节32 页4096 块,页大小为528 字节,块大小为(16KB+512 字节);可实现程序自动擦写、页程序、块擦除、智能的读/写和擦除操作,一次可以读/写或者擦除4 页或者块的内容,内部有命令寄存器。主设备通过8 位I/O 端口分时复用访问器件命令、地址和数据寄存器,完成对芯片内存储器的访问。 (3) 串行接口电路串行接口电路用于S3C2410 系统与其他应用系统的短距离双向串行通讯;串口电路使用一片MAX3232 芯片实现RS-232 接口传输。在本课题中,UART 接口用于系统开发调试,在开发过程中,PC 机端需要通过串口读取Linux 系统终端信息,并向Linux 系统发送shell 命令,完成程序烧写等交互操作。 (4) USB Host 接口电路S3C2410A 支持两个USB Host 接口,支持OHCI 1.0 和USB 1.1 规范,支持低速和全速USB 设备。USB Host 接口用于挂接中星微Zc301PLH 摄像头以及USB 电子硬盘。 (5) 按键电路本系统使用三个按键,分别接入S3C2410 的I/O 端口GPF0,GPF1,GPF6。按键电路如下图所示。 (6) LED 电路本系统使用两个LED 发光二极管,分别接入S3C2410 的I/O 端口GPB5 和GPF7。 (7) JTAG 电路JTAG 接口可对芯片内部的所有部件进行访问,通过该接口可对系统进行调试、编程等。2.4 嵌入式图像监控系统软件设计图像监控系统的软件设计需要完成以下两方面的工作:(1) 在硬件上构建一个软件平台,构建嵌入式Linux 系统需要完成Bootloader移植、嵌入式Linux 操作系统内核移植以及嵌入式Linux 操作系统的设备驱动程序的开发等工作。(2) 在软件平台的基础上,开发系统的应用程序。借助交叉编译工具,开发图像监控设备上运行的采集、存储以及导出程序。下图 为系统软件设计流程 本课题的设计目标是要实现一个基于S3C2410 开发板和嵌入式Linux 平台,将USB 摄像头采集的图像数据通过USB1.1 端口输入微处理器,并根据用户所指定的功能对图像数据进行相应的处理的便携式监控设备。用户可使用按键调用图片采集程序、视频采集程序以及将硬盘中的图像导出的程序,并且当系统检测到有运动物体出现时,LED 灯进行报警达到监控的目的。因此,整个系统的软件设计可以被分为以下几个部分进行: 建立和配置主机开发环境。 vivi bootloader 与嵌入式Linux 内核的编译和移植。 根文件系统的设计和移植。 摄像头驱动、GPIO 驱动的设计和移植。 基于Video4Linux 的图像监控软件的设计。 第2章 监控软件的设计与实现2.1 监控软件总体结构2.1.1 交互模式 系统启动后就自检,自检结束后就进入等待状态。用户就可以进行操作了。当系统接收到按键信息后,就会做出相应的处理。2.1.2 系统功能嵌入式图像监控系统的主要功能如下: 自检功能:系统在上电启动到执行计划之间需要进行自身的检验操作,需要检测USB 硬盘是否存在、USB 硬盘是否有存储空间、图像获取设备是否插入、图像获取设备是否正常工作等。 图片采集功能:系统具有定时拍照功能。 视频采集功能:系统具有实时摄像功能。 存储功能:系统将采集到的图片数据和视频数据存储在硬盘中,可供用户进行进一步的处理。 图像导出与删除功能:用户可根据需要将USB 硬盘中的图像数据导出或删除。 报警功能:当系统检测到有运动物体时,进行报警。2.1.3 系统应用程序流程 1采集程序设计的关键步骤如下:(1) 打开摄像头设备文件。int v4l_open(char *dev, v4l_device *vd)if (!dev)dev = /dev/video0;if (vd -fd = open(dev, O_RDWR) fd, VIDIOCGCAP, &(vd-capability) capability 各分量。(3) 读取video_picture中信息。int v4l_get_picture(v4l_device *vd)if (ioctl(vd -fd, VIDIOCGPICT, &(vd-picture) picture.colour = 65535;if(ioctl(vd-fd, VIDIOCSPICT, &(vd-picture) fd);return 0;(6) 截取图象。有两种方法:一种是采用内存映射(mmap)方式,另一种是直接读取(read)的方式。read( )方式是通过内核缓冲区来读取数据,通过内核态和用户态之间进行数据拷贝实现的;mmap( )方式直接将设备文件/dev/v4l/video0映射到内存中,绕过了内核缓冲区,并加速了文件I/O操作,节省了时间开销。本课题为了验证两种采集方式的优劣性,在程序中加入计时函数,将其分别采集到单幅图片的时间做比较。read( )方式采集比较简单,可以分两步来进行设计: 分配内存空间,用来存储从摄像头读取过来的视频数据。vd-pFramebuffer= (unsigned char*)realloc(vd-pFramebuffer,(size_t)vd- framesizeIn);其中pFramebuffer为分配的内存变量,大小为framesizeIn。 读取视频数据,直接调用read即可。len=read(vd-fd,vd-pFramebuffer,vd-framesizeIn);整型变量len为实际存储的视频帧大小。mmap( )(内存映射)方式截取图像步骤如下: 设置picture的属性。 初始化video_mbuf,以得到所映射的buffer的信息,具体实现如下:ioctl(vd-fd, VIDIOCGMBUF, &(vd-mbuf); 修改video_mmap和帧状态的当前设置。 将mmap与video_mbuf绑定,具体实现如下:void *mmap (void *addr, size_t len,int prot,int flags,int fd,off_t offset);len:映射到调用进程地址空间的字节数,它从被映射文件开头offset个字节开始算起;prot:指定共享内存的访问权限 PROT_READ(可读),PROT_WRITE(可写),PROT_EXEC(可执行);flags:MAP_SHARED MAP_PRIVATE中必选一个,MAP_ FIXED不推荐使用;addr:共享内存的起始地址,一般设0,表示由系统分配;mmap( )返回值是系统实际分配的起始地址。int v4l_mmap_init(v4l_device *vd)if (v4l_get_mbuf(vd) map = mmap(0, vd-mbuf.size, PROT_READ|PROT_WRITE,MAP_SHARED, vd-fd, 0) fd, VIDIOCMCAPTURE, &(vd-mmap) ;若调用成功,便开始一帧的截取,是非阻塞的,是否截取完毕留给VIDIOCSYNC来判断。 调用VIDIOCSYNC等待一帧截取结束,具体实现如下:if(ioctl(vd-fd, VIDIOCSYNC, &frame) map + vd-mbuf.offsetsvd-frame得到。 采集工作结束后调用munmap取消绑定,具体实现如下:munmap(vd-map, vd-mbuf.size);2定时采集设置两次采集之间的时间间隔,在程序中通过定时器实现。设置定时器函数如下:volatile int pictFlag=0;static int set_timer(int interval)struct itimerval itimer;itimer.it_interval.tv_sec=interval/1000;itimer.it_interval.tv_usec=(interval%1000)*1000;itimer.it_value=itimer.it_interval;signal(SIGALRM,take_snap);setitimer(ITIMER_REAL,&itimer,NULL);return 0;static void take_snap(int x)pictFlag=1;interval 为用户设置或者系统预先设置好的时间间隔。每隔产生一次SIGALRM信号,take_snap为信号捕捉函数,作用是设置采集标志pictFlag为1。setitimer函数,用于安装定时器。即可实现每隔interval ms采集一帧图片。2.3 AVI视频流文件采集1MJPEG 算法本课题采用国际上流行的MJPEG(Motion-JPEG)运动图像压缩标准的算法,将采集的JPEG 图片合成为AVI流媒体格式,可以获取清晰度很高的视频图像。MJPEG 即动态JPEG。 Motion JPEG 是一种基于静态图像压缩技术JPEG 发展起来的动态图像压缩技术,可以生成序列化的运动图像。考虑视频流中前后帧之间的变化,只单独对某一帧进行压缩。MJPEG 压缩技术可以获取清晰度很高的视频图像,而可以灵活设置每路的视频清晰度和压缩帧数。因其压缩后之格式可读单一画面,所以可以任意剪接。 MJPEG 因采用帧内压缩方式也适于视频编辑。MJPEG 的优点是画质比较清晰,缺点是压缩率低,占用带宽很大。一般单路占用带宽2M 左右。MJPEG 算法是根据每一帧图像的内容进行压缩,而不是根据相邻帧图像之间的差异来进行压缩,因此造成了大量冗余信息被重复存储,存储占用的空间大到每帧8-20K 字节,最好也只能做到每帧3K 字节。另外一点是它的实时性差,丢帧现象严重在保证每路都必需是高清晰度的前提下,很难完成实时压缩,但如果采用高压缩比则视频质量会严重降低。2AVI 文件格式AVI 英文全称为Audio Video Interleaved,即音频视频交错格式。是将语音和影像同步组合在一起的文件格式。它对视频文件采用了一种有损压缩方式,但压缩比较高,因此尽管面面质量不是太好,但其应用范围仍然非常广泛。AVI 支持256 色和RLE 压缩。AVI 信息主要应用在多媒体光盘上,用来保存电视、电影等各种影像信息。AVI 文件含三部分:文件头、数据块和索引块30,31。其中数据块包含实际数据流,即图像和声音序列数据。这是文件的主体,也是决定文件容量的主要部分。视频文件的大小等于该文件的数据率乘以该视频播放的时间长度,索引块包括数据块列表和它们在文件中的位置,以提供文件内数据随机存取能力。文件头包括文件的通用信息,定义数据格式,所用的压缩算法等参数。3视频流文件采集关键步骤系统为了把采集到的视频流保存成AVI 格式文件的形式,引入avilib API 工具集。avilib API 工具集支持简单的avi 文件的读写,支持MJPEG 编解码,支持声音回放。AVI 视频流的采集与多帧图像采集类似,只是把每帧图像写入一个avi 文件而不是将每帧图像都保存成JPEG 文件。AVI 视频流文件采集的具体实现步骤如下:(1) 打开视频文件。avi_t * AVI_open_output_file(char *filename);(2) 设置视频参数。包括宽度、高度、帧率以及压缩格式。void AVI_set_video(avi t *AVI,int width, int height,double fps,char *compressor);(3) 向avi 文件中写入帧数据。int AVI_write_ frame(avi_ t *AVI,char *data,long bytes);(4) 关闭avi 文件。int AVI_close(avi t *AVI);_2.4 按键处理应用程序设计按键电路中使用了瞬时接触开关连接到ARM 处理器的I/O 口,ARM 处理器可容易地检测到闭合。当开关打开时,通过处理器I/O 口的一个上拉电阻提供逻辑1;当开关闭合时,处理器I/O 口的输入将被拉低到逻辑0。即一旦有键按下,发生外部中断,判断键值,根据键值转到相应的键值处理程序,键值处理程序包括图片采集子程序、AVI 视频流文件录制子程序、图像数据导出子程序。 第3章 总结与展望3.1 总结本课题在总结分析前人研究成果的基础上,提出了一种可以获得便携式嵌入式图像监控系统的方案,通过合理完善的系统设计,实现了具有一定应用价值的图像和视频监控系统。主要完成的工作与获得的结论如下:1. 分析了图像监控系统的现状与发展趋势,并针对课题具体要求提出基于ARM9 和嵌入式Linux 的图像监控方案。2. 完成了BootLoader 与嵌入式Linux 在ARM 平台的移植。3. 完成了硬件平台相关驱动程序的设计与移植。4. 完成了系统监控软件的设计。5. 完成了整个系统实验室环境下的样机的调试与测试工作。系统设计的样机体积小,满足监控领域隐蔽性的要求,使用方便、成本低廉、易于升级与扩展,具有一定的市场应用前景。3.2 展望由于时间、条件、财力以及本人能力有限,本课题仅实现了整个嵌入式图像监控系统产品的雏形,还需进一步的改进与完善,主要有以下几点:1. 图片采集与视频采集的实时切换功能。2. 按键防抖功能,防止按键连续被按下使系统运行出错。3. 时间标记功能,在实时图像上叠加日期和时间显示。4. 扩展外部设备,如后备电源、GPRS 报警设备等。 参考文献1 刘富强. 数字视频监控系统开发及应用M. 北京: 机械工业出版社, 20032 艾奇. 数字监控技术的发展趋势J中国公共安全(综合版), 2006 年08 期3 马昕. 视频监控系统的现状和今后发展趋势J. 金卡工程, 2005 年03 期4 丁忠校. 视频监控系统的应用现状与发展综述J. 科技咨询导报, 2007 年28期5 徐力, 孔岩. 视频监控系统的现状和发展趋势J. 信息技术与信息化, 2005年04 期6 孟柯, 李凤亭, 马惠敏. 用于视频监控的便携式数字录像机设计J. 电视技术, 2004,7:78-807 谭晓, 明明. 嵌入式Linux 平台的网络视频监控系统J. 电子技术, 2006,01:46-498 陈福, 马莉, 周树杰等. 基于嵌入式系统的视频图像捕获研究与实现J. 微计算机信息, 2005, 21: 12-149 杨晖, 胡永健, 林志泉. 基于Linux 和S3C2410 嵌入式图象传输系统设计J.微计算机信息, 2007,23: 20-2210杜春雷. ARM 体系结构与编程M. 北京: 清华大学出版社, 200311李驹光. ARM 应用系统开发详解M. 北京: 清华大学出版社, 200312李驹光, 郑耿, 江泽明. 嵌入式Linux 系统开发详解M. 清华大学出版社,200613邹思轶. 嵌入式Linux 设计与应用M. 北京: 清华大学出版社, 200214ZC0301.pdf. Z-Star Microelectronics Corp./web/product.html15成都博睿公司. MC2410E 用户手册. 200616SAMSUNG. S3C2410X RISC Microprocessor Reference Manual. 200317张绮文, 谢建雄, 谢劲心. ARM 嵌入式常用模块与综合系统设计M. 电子工业出版社, 200718周红波. 基于嵌入式操作系统的开发方法J. 微计算机信息, 2006,7(2): 55-19陈铁军. 嵌入式Linux2.6 在S3C2410 上的移植技术探析J. 微计算机

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论