|
技术文库首页
|
编程
|
IC
|
晶体管
|
精解
|
中频
|
其它
|
电源
|
基础
|
电脑
|
无线
|
液晶
|
微波
|
空调
|
手机
|
|
热水器
|
电动车
|
LED屏
|
焊机
|
您现在的位置: 华玉生活网 >> 技术文库 >> 无线 >> 正文>> 繁體中文

嵌入式Linux的图像采集与显示,S3C2410,嵌入式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、TouchScreen接口,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口的摄像头。另外,还配有分辨率为320×240256色的LCD。

2 嵌入式Linux简介

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

tr>

整个系统软件是在嵌入式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为起始地址,长度为240×320×3的内存区域中,读取该内存中的数据便可得到图像数据。

在此基础上同样可实现连续帧的采集,即一次采集连续多帧图像的数据,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-PUTCMAP,&new_cmap)将设置新的调色板。

以下介绍如何显示一个象素,这里假设LCD为24位色的。

由此便可逐一显示每个象素,进而显示整幅图像。

5 结语

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


瑞达币购买
桂山秋竹_唐年桂2023年
桂北云雾图_唐年桂202

  • 扩展阅读
  • 上一个文章:
  • 【返回网站首页】 【返回无线】
  • 下一个文章:
  • 【字体: 】【】【发表评论】【加入收藏】【告诉好友】【打印此文
    文章 软件 电影 商品

    相关文章

    本站公告

    • 扫一扫,打赏给我们,谢谢!

      本站2016年12月16日起取消ruida.org.cn域名,该域名正式作废,该域名发布任何信息与本站无关。


      启用ruida.orghy928.net域名;

      瑞达网,瑞达科技网宣

    附页内镶内容
    健康养生 商场新品 股市K线、指标知识
     六种药酒配制法[11月7日]
     玉容西施散别名:玉容散[4月17日]
     国公酒_散风祛湿,舒筋活络[3月8日]
     气血双补党参、麦冬、黄芪炖[11月29日]
     参桂再造丸_臂丛神经痛[11月29日]
     臂丛神经痛该怎样治疗[11月29日]
     舒筋络酊、百宝丹擦剂、参桂[11月29日]
     臂丛神经痛针灸治疗[11月29日]
     枳椇子_利水渗湿药[11月29日]
     三七、丹参、西洋参_颈椎病[8月17日]
     瑞达币购买
     桂山秋竹_唐年桂2023年新作品
     桂北云雾图_唐年桂2023年新作品
     广西2019年《高考指南》+《招生计
     金士科前置过滤器
     金牛前置过滤器
     USB口24系列编程器第二版含USB延
     液晶电视、液晶显示器图纸、维修
     彩电、显示器、DVD、EVD打印机等
     高清CRT彩电、显示器图纸刻录 4G
     [理财]各种短视频赚钱方法
     [会员]专业交易实战控制系统
     [理财]1分2分5分硬币回收价格表(20250123)
     [理财]1分2分5分硬币回收价格表(20230928)
     [理财]1分2分5分硬币回收价格表(20230624)
     [理财]2022 年新版1分2分5分硬币回收价格表…
     [理财]微信收款码如何开通商业版收信用卡费…
     [指标]R平方_基金指标
     [指标]标准差_基金指标
     [指标]平均回报_基金指标
    装修案例 网站建设 电器维修
     一般水电安装几个常用尺寸[1月29日]
     三相电表接法及度数的正确读…[5月8日]
     万能通用卧室房门锁更换步骤…[2月22日]
     乳胶漆的八大施工步骤及涂刷…[2月14日]
     旧墙翻新步骤及注意事项[2月14日]
     屋面防水施工工艺流程及注意…[1月16日]
     专利产品“防污吸气帽”新产…[1月8日]
     鲁班尺吉数对照表高清图片查…[10月29日]
     砂浆胶作用与危害[9月21日]
     4种处理水泥地面起砂方法[9月21日]
     网页html点击切换显示内容完[11月7日]
     动易SiteWeaver6.6网站管理系[7月31日]
     中国阴历农历JS支持 HTML网页[2月26日]
     java script error 容错处理[2月15日]
     几款还不错的网页特效显示日[2月14日]
     图片可以调大小的代码[12月14日]
     动易SW6.8网站系统改自适应支[11月20日]
     网站建设_套餐服务[12月4日]
     网站建设-费用明细[12月4日]
     不显示出来的代码[12月3日]
     联想 小新Air 14 2019笔记本…[6月15日]
     滚筒洗衣机脱水声音大原因及…[4月17日]
     智能电视不能开机强制恢复出…[1月16日]
     各大品牌智能电视机恢复出厂…[1月16日]
     洗衣机自己排水或不存水漏水…[6月15日]
     海尔冰箱出现-03还滴滴报警[5月29日]
     TCL电视通用教程安装教程[2月2日]
     TCL L43V7300A-3D液晶彩电出…[2月2日]
     先锋液晶电视LED-32B550无光…[1月17日]
     智能电视主板的应用与维修(…[1月11日]
    电器资料 下载 读书
     手机恢复出厂设置具体操作方…[3月29日]
     三个代码让电脑提速畅通秘籍[3月13日]
     视得安750D6对讲门铃工作原理…[9月13日]
     什么是量子芯片和光子芯片[5月14日]
     沃尔沃S90汽车遥控钥匙失灵的…[1月19日]
     LED显示屏瑞合信PLus单双色全…[12月22日]
     Windows 照片查看器无法显示…[8月6日]
     已经设置IE主页,但是打开还…[7月6日]
     如何调整空压机压力?空压机…[6月8日]
     剪映-视频编辑软件手机版使用…[5月28日]
     [书籍]幼学琼林全文
     [书籍]滕王阁序_原文_注释译文_白
     [书籍]《天工开物》明代宋应星初
     [电影]《抓娃娃》高清电影
     [联想]Lenovo S540-14API Compl 
     [书籍]《墨子》原文注释译文
     [LED条屏]瑞合信单双色/全彩控制系统
     [LED条屏]LED显示屏瑞合信手机APP6.
     [书籍]全本新注聊斋志异
     [书籍]广西2023年高考指南 招生计
     黄历干支年号公元皇帝对照年[4月17日]
     广西高考2024~2022年历史类([6月25日]
     花木[4月16日]
     鸟兽[4月16日]
     释道鬼神[4月16日]
     讼狱[4月16日]
     技艺[4月16日]
     制作[4月16日]
     科第[4月16日]
     文事[4月16日]
    珠宝玉器 在线电视台
     鸡血石与鸡血玉有什么区别[6月12日]
     鸡血玉[6月12日]
     鸡血石 (bloodstone)[6月12日]
     什么是莫桑石(Moissanite)[6月12日]
     可以戴钻石洗澡吗[1月22日]
     钻石如何保养才好呢?[1月22日]
     PT容易花的问题和钻戒保养问…[1月22日]
     切工 钻石的雕刻艺术[1月22日]
     如何保养好钻戒[1月22日]
     钻戒保养方法[1月22日]
     中央体育台
     中央新闻台
     宁夏卫视
     湖北卫视
     西藏卫视
     辽宁卫视
     河北卫视
     北京卫视
     政法频道
     农民频道
     湖南经视
     湖 南 台
     河南频道
     湖南卫视
     兵团卫视
     江苏卫视
     旅游卫视
     湖南都市
     七彩戏剧
     动漫秀场
     游戏风云
     法制天地
     魅力音乐
     新 娱 乐
     南 方 TV
     浙江卫视
     齐鲁频道
     山西影视
     东南卫视
     上海卫视
     贵州电视台
     重庆电视台
     山东卫视
     哪吒之魔童闹海《哪吒2》在线
     《抓娃娃》在线电影
     流浪地球2剧情介绍
     《万里归途》完整版
     《阿凡达2:水之道》耗资3.1
     2021港剧《梅艳芳》5集全.HD
     误杀2 -电影-完整版视频在线
     亲爱的/亲爱的小孩/打拐/家之
     《第一炉香》-电影-完整版视
     《扬名立万》-电影-完整版视
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
        没有任何评论

    | 服务声明 | 充值中心| 华安五金电器 | 收费标准| 论坛| 留言| 实用查询| 会员中心| 下载帮助| 设为首页|

    技术支持:瑞达科技 即时交谈QQ:237013889 QQ群:13810759 E-Mail:237013889@qq.com
    非盈利网站,如有侵权,请来信来电告知,第一时间处理,谢谢!
    桂ICP备17008104号 华玉生活网网站统计
    tj