手势识别控制音视频和图像播放系统设计与实现.docx
《手势识别控制音视频和图像播放系统设计与实现.docx》由会员分享,可在线阅读,更多相关《手势识别控制音视频和图像播放系统设计与实现.docx(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、北京理工大学珠海学院2020届本科生毕业设计手势识别控制音视频和图像播放系统设计与实现摘 要基于ARM-cortex-A53 开发的手势交互娱乐影音系统,通过对ARM + Linux系统设备控制的灵活运用与嵌入式的特点,应用C语言,开发一款能够实现与用户良好交互的手势识别控制音视频和图像播放系统。 本课题开发的手势识别控制音视频和图像播放系统分为六个模块,即起始登录界面模块;功能选择模块;相册的浏览模块;音乐的播放与停止模块;视频的播放与停止模块;安防监控模块。各模块的功能互相独立,同时构成统一的整体。本系统具有安全性高,功能完备,交互性好且导航清晰,多媒体素材重点突出等特点。 本文重点介绍了
2、在开发功能的过程中的步骤,和重点讲解,并简要说明一些相关理论基础,和软件方面的操作与硬件设备方面的介绍。关键词:手势识别;嵌入式;LINUX;ARM;智能交互娱乐Design and Implementation of Hand Gesture Recognition Control System for Audio Video and Image PlayingAbstract The gesture interactive entertainment video and audio system developed by A53, through the flexible use of A
3、RM+ Linux system equipment control and embedded features, the application of C language to develop a good interaction with the user gesture recognition control audio, video and image playback system.The developed gesture recognition control audio, video and image playback system is divided into six
4、modules: login interface module, function selection module, photo album browsing module, music playback and stop module, video playback and stop module, and security monitoring module. The functions of each module are independent of each other and form a whole at the same time. The system features h
5、igh security, complete functions, good interaction, clear navigation and multimedia materials.This paper mainly introduces the steps and key points in the process of functional development, and briefly introduces the relevant theoretical basis, as well as the operation of software and hardware equip
6、ment.Keywords: gesture recognition; embedded; LINUX; ARM; intelligent interactive entertainment目 录1 前言11.1 本设计的目的、意义及应达到的技术要求11.1.1 本设计的目的11.1.2 本设计的意义11.1.3 本设计应达到的技术要求21.2 本设计在国内外的发展概况及存在的问题21.3 本设计应解决的主要问题22 总体设计32.1 设计原理32.1.1 总体设计逻辑32.1.2 手势识别模块原理32.2 方案选择32.3 软硬件开发环境42.3.1 GEC6818开发板42.3.2 手势识
7、别模块42.3.3 Linux Ubuntu16.0452.3.4 SecureCRT52.3.5 应用软件交叉开发环境52.4 图片的映射52.5 音视频的播放62.5.1 音频概念62.5.2 MPlayer播放器简介62.5.3 Madplay播放器简介62.6 界面的切换63 详细设计与实现63.1 设计手势交互娱乐影音系统主要问题的解决方法63.1.1 交叉环境的搭建63.1.2 移植JEPG的步骤73.1.3 图片的显示73.1.4 图片的切换83.1.5 Madplay移植83.1.6 音乐的播放、停止与暂停83.1.7 Mplayer播放器的移植93.1.8 视频的播放与停止功
8、能103.1.9 多界面的切换103.2 手势交互娱乐影音系统的设计与实现103.2.1 概要设计103.2.2 欢迎界面123.2.3 登陆界面123.2.4 相册功能123.2.5 视频功能133.2.6 音乐功能133.2.7 监控功能133.3 本设计系统各模块流程图144 结论14参考文献15谢 辞16附 录171 前言嵌入系统是软、硬件相结合,以应用为中心,以计算机技术为基础,软、硬件可裁剪,手势互动的娱乐影音系统与嵌入式相结合,更能人性化、智能化。伴随着因特网技术和计算机科学的兴起和迅速发展,人类已步入后 PC时代,人与计算机的交互作用也从过去以计算机为中心,发展到现在以人为中心
9、,因此,多媒体互动展示系统也逐渐朝着更加快捷、自然、人性化的方向发展。以高性能的手势识别传感器模块为基础的多媒体交互显示控制系统正是顺应这一趋势而不断研发的,并取得了良好的效果。以ARM-cortex-A53为系统处理器内核,具有低功耗、高性能、易于扩展等特点,在当前市场中具有一定的优势。当影音娱乐产品的市场竞争逐渐演变为服务竞争时,考虑到系统的成本和适用性,采用嵌入式系统来设计图像、声音和视频系统,后期可以根据市场的需要,对硬件进行裁剪,设计控制硬件的程序,以满足市场的不同需求。1.1 本设计的目的、意义及应达到的技术要求1.1.1 本设计的目的结合ARM+ Linux系统,通过对 JPG图
10、片的解码,设计出界面美观,操作方便的用户界面,结合嵌入式软件和硬件的可裁剪性,可以不断的根据用户需要去修改和完善,增加相应的硬件控制程序,实现对设备的控制,从而达到多功能,独具特色的人机手势交互娱乐影音系统。1.1.2 本设计的意义 手势识别在人类的生产、生活中应用也比较广泛,所以,研究手势识别并且结合多媒体互动展示系统对于人类生活水平的提高具有重要意义。本论文的研究重点是在家庭电视和车载娱乐系统方面。就家庭娱乐而言,像三星、 TCL等厂商都已经开始生产基于手势识别的电视机,并将其推向市场。使用者可直接通过一些简单的手势动作,例如,挥动手心,上下移动,完成电视页面切换,确认,旋转,缩放等基本功
11、能。所以,研究手势识别、音视频、图像播放等控制系统的设计与实现,对于提高人们的生活水平具有重要意义。现代社会经济的快速发展,人们的生活水平明显提高,同时人们对精神娱乐和科技的追求也日益突出。工作忙碌之后,适当的放松可以让人精神振奋、身心舒畅,手势互动娱乐影音系统可以满足当代人们的需要。手语娱乐影音交互技术是在传统产业的基础上发展起来的,与之相比,手语娱乐影音交互技术以其智能化、人性化、科技先进等特点得到了人们的认可,在当今社会的发展趋势也越来越好,手语娱乐影音交互技术通过使用智能影音设备来构建符合人们需求的系统,根据需求来设计系统,实现人性化,将智能科技融入家庭和社会,让人们也能享受到科技发展
12、所带来的好处,从而推动社会的经济发展,同时也促进了科技的发展,使人们能够更方便、人性化、智能化的使用,从而提高消费者的生活质量。1.1.3 本设计应达到的技术要求1.合理选择硬件以及手势识别模块进行开发。2.对6818开发板、手势识别模块以及IIC通信接口整个系统架构进行分析与设计。3.采用嵌入式ARM处理器,搭载Linux系统。4.图像的编解码。5.手势识别模块通过IIC通信接口实现手势动作的采集。6.通过手势识别模块控制音视频、图像的播放,切换。7.对各项设计进行测试以及功能完善,保证系统功能实现和可靠运行。1.2 本设计在国内外的发展概况及存在的问题人与机器的交互是当前计算机科技领域的一
13、个重要研究课题,手势是一种自然、直观、易学的人机交互方式,手势输入是实现自然、直接的人机交互的关键技术。目前,手势识别技术主要有数据手套法和视觉法。基于视觉的动态手势识别系统是当前研究的热点之一。手势输入作为一种自然、丰富、直接的交互方式,在人机交互技术中占有重要地位。尽管手势识别技术起步较早,但绝大多数还停留在软件层面,其中有一些只是进行简单的比对,速度慢、实时性差,还有一些识别效率不高。因此需要从硬件,尤其是手势识别设备入手,来弥补上面两个不足。1.3 本设计应解决的主要问题1.分析并选择合适的语言进行后台的开发。2.对图像在开发板上的显示进行理解以及应用。3.手势识别的准确性,算法识别率
14、要高,因此需要选取高精度手势识别模块来进行研究。4.辨识算法要求简单,辨识速度较快。由于是通过手势来控制多媒体交互显示系统的各个模块,应该保证系统的实时性,如果系统响应的时间在1秒或1秒以上,就会给家庭用户或司机带来不好的体验,相反,不如按钮操作或触屏操作来得更直接。5.环境的搭建与配置。2 总体设计2.1 设计原理2.1.1 总体设计逻辑1. 手势识别模块可以识别9种姿势(如下介绍),本代码只使用了上、下、左、右、向前五种,上下左右用于在某个菜单界面上切换功能,向前用于当选择好功能之后确认选择该功能的。2. 整个项目的界面切换是通过定义的全局变量g_sys_state实现的。 2.1.2 手
15、势识别模块原理PAJ7620U2-手势识别模块驱动文件:/dev/IIC_drv通信协议:用read函数每次只能读取1个字节并且100ms后会后返回值返回值- -1:没有探测到手势 1-9:分别对应9种手势接线说明: 手势识别模块 GEC6818 VCC PIN1 GND PIN19/20 SCL PIN15 SDA PIN17 INT不用接线使用read函数读取一个字节数据,读取的结果1到9分别对应如下手势case 1:printf(上n);break;case 2:printf(下n);break;case 3:printf(左n);break;case 4:printf(右n);brea
16、k;case 5:printf(向前n);break;case 6:printf(向后n);break;case 7:printf(顺时针n);break;case 8:printf(逆时针n);break;case 9:printf(摆动n);break;2.2 方案选择关于整个项目的UI,有两种选择,第一种选择是采用JPG图片显示UI,lcd_draw_jpg(x坐标,y坐标,JPG路径,摄像头存放JPG数据的指针,摄像头画面大小,0);该函数将任意大小JPG的显示跟摄像头拍摄画面的显示合二为一,最后一个参数设置为0,则摄像头拍摄画面大小为640*480,最后一个参数设置为1,则摄像头拍摄
17、画面大小为320*240。而第二种选择是采用BMP图片显示UI。由于JPG图片占用空间小,且摄像头输出的YUV格式的图片可转化为JPG,因此在本设计中采用方案一。2.3 软硬件开发环境2.3.1 GEC6818开发板图2.1 GEC6818开发板GEC6818开发板是集多种功能于一身的掌上微机,具有体积小、便携性强、功能强等特点,可运行系统,速度快,开发时间短,源代码全方便开发者使用,无需扩展底板即可直接嵌入自己的设计中,实现更高效、快速、方便的开发。采用6818开发板的理由:处理能力强,配合三星Cortex-A53八核处理器,主频最高可达1.4 GHZ。提升用户运行速度,带来更佳的使用体验。
18、整机稳定性好,核心板采用十层板材工艺设计,确保稳定可靠。保证了程序的稳定性和产品在设计过程中的安全性。有丰富的外部接口,如 LCD接口, Touch接口,音频接口, SD卡接口, emmc接口,以太网接口, USB HOST接口, USB OTG接口, UART接口, PWM接口, IIC接口, SPI接口, ADC接口, Camera接口, HDMI接口, VGA接口,启动配置接口等等。支持多种操作系统,具有 ARM微处理器系统驱动实验,嵌入式实时操作系统开发 Linux,嵌入式 Android系统开发。便于后期根据用户需求进行功能更改和增强功能。2.3.2 手势识别模块图2.2 手势识别模
19、块PAJ7620U2手势识别模块采用了PAJ7620U2式手势识别传感器,该芯片与通用I2C接口实现了手势识别功能。本系统可以识别9种手势,包括:上下、左右、前后、圆-顺时针方向、圆-逆时针方向、摇摆。这些手势信息只需通过I2C总线即可访问。手势辨识传感器模块的核心芯片PAJ7620U2,是一种能够与I2C协议进行交互的人体红外识别芯片。PAJ7620U2的手势识别传感器有如下特点:最多可识别9种手势。在普通模式下,手势动作的速度为60/s至600/s,而游戏模式为60/s至1200/s。环境光对模块的免疫能力:100 k Lux。在模块内部具有接近检测功能;I2C接口的传输速率达到400 k
20、bit/s。2.3.3 Linux Ubuntu16.04 与 Windows相比, Linux系统对硬件的支持要好得多, Linux中的开放源码程序不断更新,因此它支持很多老式硬件,而 Ubuntu对系统的低需求也能延长公司硬件的寿命。Ubuntu系统在服务器,云计算等领域得到了广泛的认可,在一些运行 Ubuntu Linux的移动设备上得到了广泛的应用。2.3.4 SecureCRTSecureCRT是一个支持 SSH的终端模拟器,它可以登录到 Windows系统,操纵 Linux服务器或者主机。它是 Linux和 Windows两个系统连接的理想工具。2.3.5 应用软件交叉开发环境在交
21、互式环境基础上构建的嵌入式应用软件开发是基于交互式环境的,它是编译、连接和调试应用软件的环境,与运行应用软件的环境不同,它采用主机和目标机模式。主机主机是一个包含了当前市场上流行的 Windows和 Linux操作系统的通用主机,以及丰富的开发工具,可以加快开发者开发嵌入式应用程序的速度,提高开发者的效率。该目标机用于应用软件的开发与调试,它可以是一个应用软件的开发环境,也可以是一个代替实际运行环境的仿真系统。内嵌的交叉开发环境包括交叉编译、交叉调试和系统模拟,交叉编译的作用是将编写好的代码生成二进制代码,在目标机上运行,而交叉调试和系统模拟器则用来调试主机和目标机上的嵌入式软件。嵌入式软件的
22、交叉开发环境是软件开发的基础,也是关键。2.4 图片的映射Framebuffer是一种底层机制,即帧缓冲机制,在 Linux系统中,内核提供了一个虚拟层,覆盖了芯片之上,抽象出显卡或显存设备,屏蔽了各种不同显示设备的具体细节,提供了统一的,抽象的,简洁的接口,使开发人员能够更容易地进行图形编程,使系统能够将显卡硬件抽象为一块可直接操作的内存,提供封装的函数式接口和设置,提高开发人员的开发效率。framebuffer使编写显卡驱动很方便。LCD的设备文件通常与/dev/fb0对应。然而,通常系统中的显示设备有多个,分别对应于/dev/fb1或/dev/fb2等等。此设备文件作为向 LCD屏幕读写
23、数据的通道。在这个时候,我们可以使用 mmap函数来为这些设备文件映射一块大小适中的内存来处理它。同样,我们可以将帧缓冲区所对应的物理内存映射到用户内存空间,这样我们就可以通过直接写入屏幕来播放显示效果。2.5 音视频的播放2.5.1 音频概念在播放音乐的过程中,系统将模拟信号转换成数字信号,并通过几步转换、采样、量化、编码等过程完成。取样是对一段连续的模拟信号进行离散化,量化是对连续的模拟信号进行幅值离散化,脉冲编码调制是将一个连续的、取值连续的模拟信号转换为离散的数字信号传输,是对模拟信号进行抽样、幅值量化再编码的过程。ALSA是 Linux高级声音体系结构的缩写,它在 Linux操作系统
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 手势 识别 控制 视频 图像 播放 系统 设计 实现
限制150内