嵌入式Linux的图像采集与显示.

合集下载

数字图像处理系统毕业论文

数字图像处理系统毕业论文

数字图像处理系统毕业论文基于ARM的嵌入式数字图像处理系统设计摘要简述了数字图像处理的应用以及一些基本原理。

使用S3C2440处理器芯片,linux内核来构建一个简易的嵌入式图像处理系统。

该系统使用u-boot作为启动引导程序来引导linux内核以及加载跟文件系统,其中linux内核与跟文件系统均采用菜单配置方式来进行相应配置。

应用界面使用QT制作,系统主要实现了一些简单的图像处理功能,比如灰度话、增强、边缘检测等。

整个程序是基于C++编写的,因此有些图像变换的算法可能并不是最优化的,但基本可以满足要求。

在此基础上还会对系统进行不断地完善。

关键词:linnux 嵌入式图像处理边缘检测AbstractThis paper expounds the application of digital image processing and some basic principles. The use of S3C2440 processor chip, the Linux kernel to construct a simple embedded image processing system. The system uses u-boot as the bootloader to boot the Linux kernel and loaded with file system, Linux kernel and file system are used to menu configuration to make corresponding configuration. The application interface is made using QT, system is mainly to achieve some simple image processing functions, such as gray, enhancement, edge detection. The whole procedure is prepared based on the C++, so some image transform algorithm may not be optimal, but it can meet the basic requirements. On this basis, but also on the system constantly improve.Keywords:linux embedded system image processing edge detection目录第一章绪论 (1)1.1 数字图像处理概述 (1)1.2 数字图像处理现状分析 (5)1.3 本文章节简介 (8)第二章图像处理理论 (8)2.1 图像信息的基本知识 (8)2.1.1 视觉研究与图像处理的关系 (8)2.1.2 图像数字化 (10)2.1.3 图像的噪声分析 (10)2.1.4 图像质量评价 (11)2.1.5 彩色图像基本知识 (11)2.2 图像变换 (12)2.2.1 离散傅里叶变换 (13)2.2.2 离散沃尔什-哈达玛变换(DWT-DHT) (20)2.2.3 离散余弦变换(DCT) (21)2.2.4 离散图像变换的一般表达式 (23)2.3 图像压缩编码 (24)2.3.1 图像编码的基本概念 (24)2.4 图像增强和复原 (24)2.4.1 灰度变换 (24)2.4.2 图像的同态增晰 (26)2.4.3 图像的锐化 (27)2.5 图像分割 (27)2.5.1 简单边缘检测算子 (27)2.6 图像描述和图像识别 (28)第三章需求分析 (28)3.1 系统需求分析 (28)3.2 可行性分析 (28)3.3 系统功能分析 (29)第四章概要设计 (29)4.1 图像采集 (30)4.2 图像存储 (30)4.3 图像处理(image processing) (31)4.4 图像显示 (31)4.5 网络通讯 (32)第五章详细设计 (32)5.1 Linux嵌入式系统的构建 (32)5.1.1 启动引导程序的移植 (32)5.1.2 Linux内核移植 (33)5.1.3 根文件系统的移植 (33)5.2 图像处理功能的实现 (33)5.2.1 彩色图像的灰度化 (34)5.2.2 灰度图的直方图均衡化增强 (34)5.2.3 图像二值化 (35)5.2.4 边缘检测 (35)第六章调试与维护 (36)附录 A (36)参考文献 (43)致谢 (44)第一章绪论1.1 数字图像处理概述数字图像处理(Digital Image Processing)又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。

基于嵌入式Linux的网络视频监控系统的设计

基于嵌入式Linux的网络视频监控系统的设计

(.c o l f no maina dCo 1S h o I fr t n mmu iainE gn eig No t iest f ia T iu n0 0 5 ; S h o f o o nc t n i e rn , rhUnv ri o Ch n , ay a 3 0 12.c o l o y o
I fr t nEn ie rn , no mai gn e ig CUG, u a 3 0 4 o W h n4 0 7 )
Abs r c : i p p ri to u e e i n a d i l me t t n o tVi e u v i a c y t m s n Emb d e t a t Th s a e n r d c s a d sg n mp e n a i fNe d o S r e l n e S se Ba e o o l edd
D e i o e Vi e sgn f N t d o Sur e la e Sy t m a e n v il nc s e B s o Em b d e n e d d Li ux
Gao Feng ,Yu ngyi Ya Ho ng , ng Yan ,Zha Yi g ng ng‘
频 监 控 系 统 , 以实 现 视 频 数 据 的采 集 、 用 压缩 与 网络 传 输 。 该
像头视 频数据的。 4 是L n x V 1 i u 中关于视频设备的内核驱动 , 所 以它为针对视频设备的应用程序编程提供一系列接口函数。 基 于V 1 S 视频数据采集 , 4 的U B 先要获得相关采集设备的信息和 图 像信息, 并对采集窗口、 颜色模式、 帧状态初始化, 然后才能进
设 计 如 图1 示: 所
初始 化采集 窗 口颜 色、模 式 、帧状态 V L ga i t1 4  ̄ rb ni (

嵌入式题库

嵌入式题库

嵌入式题库一、嵌入式系统基础1. 什么是嵌入式系统?(5分)答案:嵌入式系统是一种专用的计算机系统,它被嵌入到其他设备或系统中,通常执行特定的功能。

例如,我们常见的智能手表,里面的系统就是嵌入式系统,它主要负责处理时间显示、健康监测(如心率检测)等特定功能,而不是像普通计算机那样可以进行多种通用的操作。

2. 嵌入式系统由哪些部分组成?(5分)答案:嵌入式系统一般由硬件和软件两部分组成。

硬件部分包括处理器、存储器、输入输出接口等。

软件部分包括操作系统、驱动程序和应用程序等。

比如一个嵌入式的车载导航系统,硬件上有处理导航计算的芯片(处理器)、存储地图数据的存储器,以及连接屏幕和按键等的输入输出接口;软件方面有专门的操作系统来管理硬件资源,驱动程序来使硬件正常工作,还有应用程序实现导航功能。

3. 嵌入式系统的特点有哪些?(5分)答案:嵌入式系统具有专用性、小型化、低功耗、高可靠性等特点。

专用性就是针对特定的任务,像微波炉里的嵌入式系统就是专门用来控制加热时间和功率的。

小型化使得它可以被嵌入到各种设备中,像手机这么小的空间里也能容纳嵌入式系统。

低功耗能保证设备长时间使用,比如智能手环的嵌入式系统,靠很小的电池就能工作很久。

高可靠性是为了保证设备正常运行,像飞机上的嵌入式系统,要是不可靠那可就危险啦。

二、嵌入式系统硬件相关1. 嵌入式处理器有哪些类型?(5分)答案:嵌入式处理器主要有微控制器(MCU)、数字信号处理器(DSP)、微处理器(MPU)等类型。

微控制器通常集成了CPU、存储器和输入输出接口等,常用于简单的控制设备,像电子玩具里的控制芯片。

数字信号处理器主要用于处理数字信号,在音频、视频处理设备中很常见,比如MP3播放器里的芯片。

微处理器功能更强大,常用于需要复杂运算的嵌入式设备,像一些高端的工业控制设备。

2. 嵌入式系统中存储器的作用是什么?(5分)答案:存储器在嵌入式系统中的作用主要是存储程序和数据。

主要技术参数

主要技术参数
11.支持管理端的远程升级和U盘升级
12.提供全面的二次开发技术支持
技术参数:
技术参数:人脸识别终端。嵌入式Linux ,高性能ARM架构32位双核心,内存256M,机身存储8GB, 5英寸广视角IPS液晶屏, 200W像素,支持宽动态, 720*1280分辨率,识别距离为0.5米-2米
建设规范:
针对人脸识别开门方式,采集人脸图像信息的图像质量、文件格式等应符合《公共安全重点区域视频图像信息采集规范》GB37300、《安全防范人脸识别应用视频图像采集规范》GA/T1325等相关规定。
6.LED屏控制:支持多种第三方LED屏控制卡
7.自动分析相机品牌:支持自动分析车牌识别摄像机品牌、道闸系统厂家
8.智能配置IP地址:支持根据上位机网络情况配置IP地址
9.升级方式upgrade:本地升级或远程升级
3、支持黑白名单管理,可对月卡或固定用户脱机工作;
4、支持智能心跳包检测,可智能切换由上位机控制或脱机工作模式;
5、支持对识别结果比对的模糊匹配功能;
6、支持正/背向识别模式,自动判断来车方向;
7、支持RS485自动输出识别结果、车牌颜色、有效期等抓拍信息;
8、支持开关量信号开闸;
9、除常见民用及军牌识别外,支持新能源车牌的识别;
10、四行字体显示,车牌、停车时长、应缴费用、剩余车位、月租有效期、储值余额等信息,红绿字体区分显示,查看更直观.
技术参数
车辆识别摄像机:
1.传感器类型:图像传感器: 1/2.7" 200万宽动态CMOS传感器
2.镜头:6mm定焦镜头
识别能力:车辆捕获率≥99.9%,车牌识别率≥99.9%(典型车牌),
主要技术参数
人像识别系统

嵌入式运动目标检测及跟踪系统的设计与实现

嵌入式运动目标检测及跟踪系统的设计与实现

嵌入式运动目标检测及跟踪系统的设计与实现胡凤忠;高金定;龙贻建【摘要】运动目标的检测及跟踪技术广泛应用于军事与民用领域;传统基于PC的目标跟踪系统不能满足对体积、功耗及便携性的需求,基于ARM处理器S3C2440A和嵌入式Linux操作系统构建了一个比较完整、实用的目标跟踪系统;该系统利用摄像头采集运动目标图像,处理器进行数字图像处理,LCD显示跟踪目标.阐述了实现原理及图像获取、目标检测、图像分割和目标跟踪算法程序流程;通过实际测试,该系统能满足对低速运动目标的检测、识别和跟踪,且具有较好的实时性和稳定性.【期刊名称】《计算机测量与控制》【年(卷),期】2016(024)012【总页数】3页(P133-135)【关键词】嵌入式系统;运动目标检测;目标跟踪;S3C2440A;Linux【作者】胡凤忠;高金定;龙贻建【作者单位】湖南涉外经济学院信息科学与工程学院,长沙410205;湖南涉外经济学院信息科学与工程学院,长沙410205;湖南涉外经济学院信息科学与工程学院,长沙410205【正文语种】中文【中图分类】TP391.9运动目标的检测与跟踪是指从视频流中快速、准确地提取出运动目标并进行连续的跟踪,以确定其运行轨迹[1]。

其区别于传统意义上的视频监控在于其智能性,是计算机视觉理论的一个新兴应用领域,在军事、交通、工业检测以及安防等民用领域都有很大的应用价值。

目前,基于PC机的视频图像处理技术日趋成熟,但PC机体积大、便携性差,且在户外连续运行时稳定性较差,限制了其应用范围[2]。

ARM嵌入式系统由于其开发成本相对较低、稳定性好、运算速度快等特点被逐渐应用于图像处理系统[3-4]。

本文基于三星ARM处理器S3C2440A开发板并移植嵌入式Linux操作系统的方案构建了一个比较完整、实用的静态背景下的运动目标检测与跟踪系统,并进行了实际测试。

能满足对低速运动物体的检测、识别和跟踪,且具有较好的实时性和稳定性,可应用于某些环境较恶劣的场所。

基于arm9的图像采集系统的研究

基于arm9的图像采集系统的研究

学校代号***** 学号********** 分类号TP18 密级公开硕士学位论文基于ARM9的图像采集系统的研究学位申请人姓名刘白皓培养单位长沙理工大学导师姓名及职称黄敏副教授学科专业通信与信息系统研究方向嵌入式系统论文提交日期2011年3月学校代号:10536学号:0810801515密级:公开长沙理工大学硕士学位论文基于ARM9的图像采集系统的研究学位申请人姓名刘白皓导师姓名及职称黄敏副教授培养单位长沙理工大学专业名称通信与信息系统论文提交日期2011年3月论文答辩日期2011年5月答辩委员会主席车生兵教授The Design of Image Acquisition System Based on ARM9ByLIU BaihaoB.E.( Anhui University of Architecture) 2008A thesis submitted in partial satisfaction of theRequirements for the degree ofMaster of EngineeringinCommunication and Information SysteminChangsha University of Science & TechnologySupervisorProfessor Huang MinMarch, 2011长沙理工大学学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。

除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。

对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。

本人完全意识到本声明的法律后果由本人承担。

作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。

基于Linux的MJPG-Streamer视频监控系统实现

基于Linux的MJPG-Streamer视频监控系统实现

基于Linux的MJPG-Streamer视频监控系统实现作者:刘豪来源:《科技视界》 2015年第32期基于Linux的MJPG-Streamer视频监控系统实现刘豪(广州海格通信集团股份有限公司,广东,广州 510006)[摘要]本文设计了嵌入式Linux视频监控系统。

引入了基于ARM平台的Linux视频采集和web监控系统的方案。

采用友善之臂的Mini2440作为硬件平台,软件上实现了Linux下的USB摄像头的驱动[1]以及MJPG-Streamer视频监控应用程序。

[关键词]Linux; MJPG-Streamer;驱动;USB摄像头0引言当前视频监控领域多采用嵌入式系统来实现。

嵌入式系统涵盖了嵌入式硬件平台和嵌入式软件平台,本文将从系统实现的角度来阐述基于嵌入式Linux的MJPG-Streamer视频监控系统。

嵌入式Linux的视频监控技术已广泛应用于多个领域,因此该系统设计实现方案具有一定的实用性和参考价值。

1 系统设计方案本系统设计方案中,硬件采用友善之臂的Mini2440开发平台,摄像头采用中星微的USB2.0摄像头,这是一款高性价比的图像数据采集处理器,支持VGA和SXGA视频模式,其像素最高达130万。

如图1所示为视频监控系统设计方案原理框图。

USB摄像头通过USB接口与Mini2440的USB Host接口相连。

软件方面,需要在S3C2440上实现USB摄像头驱动软件,同时在S3C2440处理器上运行MJPG-Streamer软件,利用MJPG-Streamer实现的web服务器功能提供网络访问支持,远程PC机通过浏览器访问该视频监控系统的web服务器,MJPG-Streamer程序将USB摄像头采集到的视频数据放到后台进行处理,然后通过web的http协议将视频数据传输到远端的PC机,然后通过浏览器显示出来,从而达到远程视频监控的目的。

2USB摄像头驱动实现2.1UVC驱动程序实现中星微USB摄像头的VC0345模块是一个标准的UVC设备。

嵌入式系统课程设计题目

嵌入式系统课程设计题目

嵌入式系统课程设计题目1.ARM系统在LED显示屏中的应用(利用ARM系统控制彩色LED显示屏)2.ARM-Linux 嵌入式系统在农业大棚中的应用(温度、湿度和二氧化碳浓度是影响棚栽农作物生长的3 大要素。

为了实现农业大棚中这3 种要素数据的远程实时采集,引入了当前嵌入式应用中较为成熟的ARM9 微处理器和Linux 嵌入式操作系统技术, 采用温度传感器PH100TMPA、湿度传感器HM1500 和二氧化碳浓度传感器NAP221A ,设计一种基于TCP/ IP 协议的嵌入式远程实时数据采集系统方案。

从硬件设计和软件实现2方面对该系统进行具体设计。

)3.ARM 嵌入式处理器在智能仪器中的应用(设计一种基于ARM 嵌入式处理器系统的智能仪器的硬件和软件设计方案, 并结合uc/o s2II或者Linux嵌入式实时操作系统, 给出一套完整的任务调度和管理的方法, 最后用实例说明)4.ARM系统在汽车制动性能测试系统中的应用(采用ARM系统构建一个路试法的汽车制动性能测试系统)5.ARM 嵌入式控制器在印染设备监控中的应用(针对拉幅热定型机,设计一种基于485 总线的分布式监控系统。

用ARM 嵌入式控制器实现主、从电机的同步运行和烘房温度的控制;在PC 机上用VB6. 0 设计转速和温度的监控画面;实现ARM、变频器和PC 机之间的数据通信。

)6.基于ARM系统的公交车多功能终端的设计(完成电子收费、报站、GPS定位等功能)7.基于ARM9的双CAN总线通信系统的设计(设计一种基于ARM9内核微处理器的双路CAN总线通信系统。

完成系统的总体结构、部分硬件的设计,系统嵌入式软件的设计,包括启动引导代码U - boot、嵌入式L inux - 操作系统内核、文件系统以及用户应用管理软件四个部分。

)8.基于ARM9 和Linux 的嵌入式打印终端系统(嵌入式平台上的打印终端的外围电路连接设计、嵌入式Linux 的打印机驱动程序开发和应用程序的开发)9.基于ARM 的车载GPS 终端软硬件的研究(重点研究基于ARM 的导航系统的软硬件设计)10.ARM系统在B超系统中的应用(完成系统软件硬件设计,包括外围电路)11.基于ARM 的嵌入式系统在机器人控制系统中应用(提出一种基于ARM、DSP 和arm-linux 的嵌入式机器人控制系统的设计方法, 完成控制系统的功能设计、结构设计、硬件设计、软件设计)12.基于ARM的视频采集系统设计(完成系统软件硬件设计,包括外围电路,采用USB接口的摄像头)13.基于ARM的高空爬壁机器人控制系统(构建一种经济型的爬壁机器人控制平台, 与上位机视觉定位和控制系统结合,使其适用于导航与定位、运动控制策略、多机器人系统体系结构与协作机制等领域。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

嵌入式Linux的图像采集与显示
1 系统平台的硬件结构 本文使用的系统平台硬件功能框图如图1所示,该
平台采用Samsung公司的处理器S3C2410。该处理器内部集成了ARM公司
ARM920T处理器核的32b微控制器,资源丰富,带独立的16kB的指令Cache和
16kB数据Cache,LCD控制器、RAM控制器,NAND闪存控制器,3路UART、4路
DMA、4路带PWM的Timer、并行I/O口、8路10位ADC、Touch Screen接
口,I2C接口,I2S接口、2个USB接口控制器、2路SPI,主频最高可达203MHz。
在处理器丰富资

1 系统平台的硬件结构
本文使用的系统平台硬件功能框图如图1所示,该平台采用Samsung公司的处理
器S3C2410。该处理器内部集成了ARM公司ARM920T处理器核的32b微控制器,
资源丰富,带独立的16kB的指令Cache和16kB数据Cache,LCD控制器、RAM控
制器,NAND闪存控制器,3路UART、4路DMA、4路带PWM的Timer、并行I/O
口、8路10位ADC、Touch Screen接口,I2C接口,I2S接口、2个USB接口控制
器、2路SPI,主频最高可达203MHz。在处理器丰富资源的基础上,还进行了相
关的配置和扩展,平台配置了16MB 16b的FLASH和64MB 32位的SDRAM,通过以
太网控制器芯片AX88796扩展了一个网口,另外引出了一个HOST USB接口。在
USB接口上外接一个带USB口的摄像头。另外,还配有分辨率为320240,256色
的LCD。

2 嵌入式Linux简介
Linux操作系统具有相当多的优点,他的内核稳定、功能强大、支持多种硬件平
台、源代码完全开放,可裁减和低成本的特性非常适合于嵌入式应用,并且
Linux本身直接提供完整的TCP/IP协议,可非常方便地进行网络应用。但Linux
内核本身不具备强实时性,且内核体积较大,而且嵌入式系统的硬件资源有限,因
此把Linux用于嵌入式系统,必须对Linux进行实时化和嵌入式化,即通过配置
内核,裁减shell和嵌入式C库对系统定制,使整个系统能够存放到容量较小的
FLASH中,Linux的动态模块加载,使Linux的裁减极为方便,高度模块化的部件
使添加非常容易。

整个系统软件是在嵌入式Linux的基础上构建的。S3C2410平台使用的Linux
内核是在Linux-2.4.18内核打上patch-2.4.18-S3C2410这个补丁后编译而
成。S3C2410平台使用的文件系统是yaffs,文件系统包括应用程序、模块、配
置文件和库等,图像的采集和显示是建立在嵌入式Linux内核之上的,整个软件
系统如图2所示。

通常宿主机和目标板上的处理器不同,宿主机通常为Intel处理器,而目标板如
图1所示为SAMSUNG S3C2410,所以程序需要使用针对处理器特点的编译器才能
生成在相应平台上可运行的代码,GNU编译器提供这样的功能,在编译时,可以选
择开发所需的宿主机和目标机,从而建立开发环境。在进行嵌入式开发前的第一
步工作就是把一台PC机作为宿主机开发机,并在其上安装指定操作系统。对于
嵌入式Linux,宿主机PC上应安装Linux系统。之后,在宿主机上建立交叉编译
调试的开发环境,开发环境的具体建立这里不细谈。本文采用移植性很强的C语
言在宿主机上编写视频采集程序,再利用交叉编译调试工具编译链接生成可执行
代码,最后向目标平台移植。

3 基于Video4Linux的图像采集
Video4Linux是Linux中关于视频设备的内核驱动,他为针对视频设备的应用程
序编程提供一系列接口函数,在Linux下,视频采集设备的正常使用依赖于对
Video4 Linux标准的支持。如果使用Video4Linux,在编译内核时,一定要选中
Multimedia Devices下的Video for Linux选项,本文针对的设备文件是 /
dev / video,使用的器件是基于OV511的USB摄像头。在运行程序前,一定要先
加载USB及OV511设备驱动模块,同时加载Video4Linux模块,分别使用命令:
modprobe usbcore,modprobe usbohci,modprobe videodev和modprobe ov511,
以确保生成设备文件/dev/video,若使用的Linux操作系统不支持modprobe命
令,也可使用insmod命令。一般来讲,基于Video4Linux的图像采集的程序流程
如图3所示。

以下简单介绍程序的编
写,在这里只给出关键部分的实现代码。
首先,必须声明包含2个头文件:
在获取图像信息后,还可根据需要改变这些信息,例如对比度、亮度、调色板等,
具体做法是先给video_picture中相应变量赋新值,再利用VIDIOCSPICT ioct1
函数。

第2部分,使用mmap方式的单帧图象采集:
然后调用ioct1(grab_fd,VIDIOCSYNC,&fRAMe)函数,该函数成功返回则表示
采集完毕,采集到的图像数据放到以data为起始地址,长度为2403203的内存区
域中,读取该内存中的数据便可得到图像数据。

在此基础上同样可实现连续帧的采集,即一次采集连续多帧图像的数
据,Video4Linux最多支持一次采集32帧,此时首先要设置grab_buf.frame为
要采集的帧数,而每一帧的数据在内存中的位置为data+
grab_vm.offsets[frame],其中grab_vm为video_mbuf结构体变量的一个声明,
利用ioct1(fd,VIDIOCGMBUF,&grab_vm)便可获得grab_vm的信息。

4 基于FrameBuffer的图象显示
当Video4Linux使用mmap方式采集图像时,他总是尽最大努力将图像直接显示
在屏幕上,但并不一定能够完成,因此一个完整的设备应该具有图像显示的功能,
一般来讲,嵌入式Linux下显示一幅图像总共有以下几种方法:

(1)在利用Video4Linux采集图像时,将采集到的图象数据直接放到
FrameBuffer的内存映射区中,而Video4Linux也支持这种功能,利用
VIDIOCSFBUF和VIDIOCGFBUF这两个ioct1函数,可设置和获得struct
video_buffer。但该方法并不是每个图像采集设备都支持。

(2)进图像数据存成各种格式(例如bmp),在各种GUI软件中,均会直接显示
不同格式的图像的函数,如MiniGui中的FillBoxWithBitmap函数。

(3)直接将图像数据写入FrameBuffer中。
在这里主要介绍第3种。FrameBuffer设备是运行在Linux控制台上的一个优
秀的图形接口,他几乎支持所有的硬件,提供了统一的API接口,很好地实现了硬
件无关性,他可以直接操作显存,而且还留有提供图形加速功能的接口,运行时不
需要root权限;FrameBuffer的设备节点是/dev/fb*,用户若要使用他,需要在
编译内核时选中FrameBuffer,其简单的使用程序如下:

从vinfo和finfo中取得显存起始地址、分辨率、色深等信息,然后根据这些计
算出需映射显存的大小。

由此便可直接操作大小为screensize,起始地址为fbp的内存区域,在LCD上直
接显示图像、图形、文字等,例如执行memset(fbp,0,screensize)将进行清
屏操作。

需要注意的是,对于色深为8位或8位以下的设备,在进行绘图操作前还需要设
置合适的调色板,操作调色板要用到fb_camp结构,执行ioctl
(fd,FBIOGETCMAP,&old_cmap)将保存调色板信息,执行ioctl(fd,FBIO-
PUTCM

AP,&new_cmap)将设置新的调色板。以下介绍如何显示一个象素,这里假设
LCD为24位色的。

由此便可逐一显示每个象素,进而显示整幅图像。
5 结语
由于Linux的驱动模型支持模块堆叠技术,内核开发者已提供了一些通用模块,
因此,虽然文中是以USB摄像头为例,但只要针对自己的图像采集设备编写基于
Video4 Linux的驱动程序,针对自己的LCD编写基于FRAMeBuffer的驱动程序,
以上的程序便可成为通用的图像采集与显示程序。应用本文所述方法完成图像
采集与显示工作,再加上相关的处理并接入网络,就构成了一个智能终端设备,可
用于工厂、银行等场合全天候的智能监控,图像的网络通信等,具有广阔的是市
场和应用前景。

相关文档
最新文档