基于arm的远程监控系统设计毕业论文(编辑修改稿)内容摘要:
以下两行: \ \ 交叉编译 mjpegstream 执行以下命令进行编译并打包: cd /opt/mini6410/ webcamera/ mjpgstreamer mini2440 read only / export CC=armlinuxgcc make make package 在当前目录下会生成 mjpgstreamer mini2440 , 将它拷入 SD 卡备用。 Mini6410 上的摄像头 \ Bin”目录下找到我们编译好的可执行文件,文件名为 mjpgstreamer mini6410。 11 4. 基于 V4L 的 视频采集程序以及图像压缩理论 V4L2 Video for Linux two(Video4Linux2)简称 V4L2,是 V4L 的改进版。 V4L2是linux 操作系统下用于采集图片、视频和音频数据的 API 接口,配合适当的视频采集设备和相应的驱动程序,可以实现图片、视频、音频等的采集。 在远程会议、可视电话、视频监控系统和嵌入式多媒体终端中都有广泛的应用。 在 Linux 下,所有外设都被看成一种特殊的文件,成为 “设备文件 ”,可以象访问普通文件一样对其进行读写。 一般来说,采用 V4L2驱动的 摄像头设备文件是 /dev/v4l/video0。 为了通用,可以建立一个到 /dev/video0的链接。 V4L2支持两种方式来采集图像:内存映射方式 (mmap)和直接读取方式 (read)。 V4L2在include/linux/ 文件中定义了一些重要的数据结构,在采集图像的过程中,就是通过对这些数据的操作来获得最终的图像数据。 Linux 系统 V4L2的能力可在 Linux 内核编译阶段配置,默认情况下都有此开发接口。 V4L2从 Linux 版本的内核中开始出现 [15]. V4L2规范中不 仅定义了通用 API 元素 (Common API Elements),图像的格式 (Image Formats),输入 /输出方法 (Input/Output),还定义了 Linux 内核驱动处理视频信息的一系列接口 (Interfaces),这些接口主要有: 视频采集接口 ——Video Capture Interface。 视频输出接口 —— Video Output Interface。 视频覆盖 /预览接口 ——Video Overlay Interface。 视频输出覆盖接口 ——Video Output Overlay Interface。 编解码接口 ——Codec Interface。 应用程序通过 V4L2进行视频采集的原理 V4L2支持内存映射方式 (mmap)和直接读取方式 (read)来采集数据,前者一般用于连续视频数据的采集,后者常用于静态图片数据的采集,本文重点讨论内存映射方式的视频采集。 应用程序通过 V4L2接口采集视频数据分为五个步骤: 首先,打开视频设备文件,进行视频采集的参数初始化,通过 V4L2接口设 12 置视频图像的采集窗口、采集的点阵大小和格式。 其次,申请若干 视频采集的帧缓冲区,并将这些帧缓冲区从内核空间映射到用户空间,便于应用程序读取 /处理视频数据。 第三,将申请到的帧缓冲区在视频采集输入队列排队,并启动视频采集。 第四,驱动开始视频数据的采集,应用程序从视频采集输出队列取出帧缓冲区,处理完后,将帧缓冲区重新放入视频采集输入队列,循环往复采集连续的视频数据。 第五,停止视频采集。 视频采集的参数初始化 在 Linux 下,摄像头硬件已经被映射为设备文件 “/dev/video0”,用 open 函数打开这个设备文件,获得其文件描述符 fd_v4l2,然后对这个文件描述符进行参数初始化。 (1) 设置视频的采集窗口参数 设置采集窗口就是在摄像头设备的取景范围之内设定一个视频采集区域。 主要是对结构体 v4l2_crop 赋值, v4l2_crop 由一个 v4l2_buffer_type 枚举类型的type 和 v4l2_rect 类型的结构体 c 构成,来描 述视频采集窗口的类型和大小。 type设置为视频采集类型 V4L2_BUF_TYPE_VIDEO_CAPTURE。 c 是表示采集窗口的大小的结构体,它的成员 Left 和 Top 分别表示视频采集区域的起始横坐标和纵坐标, width 和 height 分别表示采集图像的宽度和高度。 赋值后,用 ioctl 函数通过这个结构体对 fd_v4l2进行设置。 struct v4l2_crop { enum v4l2_buf_type type。 struct v4l2_rect c。 }。 (2)设置视频点阵格式和点阵大小 主要是对结构体 v4l2_format 进行赋值,它由 type 和联合体 fmt 构成,来描述视频设备当前行为和数据的格式。 把 type 赋值为视频采集类型 V4L2_BUF_TYPE_VIDEO_CAPTURE,表示定义了一个视频采集流类型的 buffer。 fmt 中, pix 为表示图形格式的v4l2_pix_format 型结构体。 需要设定 pix 里的几个变量, pixelformat 表示采集 13 格式,设置为 V4L2_PIX_FMT_YUV420。 width、 height 表示图像的宽度、高度,以字节为单位。 sizeimage 表示图像所占的存储空间大小,以字节为单位。 bytesperline 表示每一行的字节数。 赋值后,用 ioctl 函数通过这个结构体对fd_ v4l2进行设置。 struct v4l2_format { enum v4l2_buf_type type。 union { struct v4l2_pix_format pix。 // V4L2_BUF_TYPE_VIDEO_CAPTURE struct v4l2_window win。 // V4L2_BUF_TYPE_VIDEO_OVERLAY __u8 raw_data[200]。 // userdefined } fmt。 }。 (3)设置视频采集的帧率 结构体 v4l2_streamparm 来描述视频流的属性,它由 type 和联合体 parm构成。 type 同上,由于选的是 V4L2_BUF_TYPE_VIDEO_CAPTURE,所以仅需设定 parm 中的 v412_capture 型结构体 capture 即可。 在其中, v4l2_fract型结构体 timeperframe 表示平均每一帧所占的时间,由其元素 numerator 和denominator 共同决定,该时长为 numerator/denominator。 而 capturemode 则表示采集模式,采集高质量图片值为 1,一般设为 0。 赋值之后,用 ioctl 函数通过这个结构体对 fd_ v4l2进行设置。 struct v4l2_streamparm { enum v4l2_buf_type type。 union { struct v4l2_captureparm capture。 struct v4l2_outputparm output。 __u8 raw_data[200]。 /* userdefined */ } parm。 }。 申请并设置视频采集的帧缓冲区 14 前期初始化完成后,只是解决了一帧视频数据的格式和大小问题,而连续视频帧数据的采集需要用帧缓冲区队列的方式来解决,即要通过驱动程序在内存中申请几个帧缓冲区来。基于arm的远程监控系统设计毕业论文(编辑修改稿)
相关推荐
1 、tt2 , ),(),( 21 ttRttR xx ,简记为 )(xR ,即 )]()([)( tXtXER x () 用时间平均来计算式 (),自相关函数可以表示为 西安工业大学北方信息工程学院毕业设计(论文) 15 TTTx dttxtxTR )]()([21)( lim () 自相关函数具有以下重要特点。 (1) 对于实信号
父窗体应该在屏幕的中心位置,子窗体应该在父窗体的左上角或中心,界面退出或关闭的按钮不应该放在容易点到的位置,对数据进行无法恢复的操作,应有提示信息,给用户有选择放弃的机会。 对错误的提示要准确、清楚。 (4)高适应性 系统面向的用户群要分类明确,对于不同的用户,他们拥有不同的操作目的、操作流程以及不同的权限,如何考虑系统的适应性也是 界面设计时的重要部分,本系统可以面向不同的用户提供不同的界面
中执行 SQL 命令,以便将数据加载到 DataSet 中,并使对 DataSet 中数据的更改与数据源保持一致。 的 DataSet 组件为 提供断开式数据访问服务,它在与数据源断开的缓存中存储数据。 它的设计是为了实现独立于任何数据源的数据访问。 因此,它可以用于多种不同的数据源,包括 XML 数据源。 DataSet 包括一个或多个 DataTable 对象的集合,这些对象由数据行
[3]。 比如,如果想让链接字未点击时是蓝色的,当鼠标移上去后字变成红色的且有下 划线,这就是一种风格。 通过设立样式表,可以统一地控制 HTML 中各标志的显示属性。 级联样式表可以使人更能有效地控制网页外观。 使用级联样式表,可以扩充精确指定网页元素位置,外观以及创建特殊效果的能力 [3]。 开发工具 是 的一部分,作为战略产品,不仅仅是 Active Server Page (ASP)
握手的 2 通道 UART, 4 通道 DMA,系统管理器(片选逻辑,FP/EDO/SDRAM 控制器),代用 PWM 功能的 5 通道定制器, I/O 端口, RTC,8 通道 10 位 ADC, IICBUS 接口, IISBUS 接口,同步 SIO 接口和 PLL 倍频器。 S3C44B0X 采用了 ARM7TDMI 内核, 工艺的 CMOS 标准宏单元和存储编译器。
void buttonFactorial()。 void buttonEqual()。 void buttonEmpty()。 void buttonDel()。 }。 endif // DIALOG_H 2) 对 源代码的简要说明 include include include Dialog::Dialog(QWidget *parent) : QDialog(parent), ui(new