基于S3C2440的USB摄像头应用简单实现之应用层框架(一)

来源:互联网 发布:linux 查看主机arp 编辑:程序博客网 时间:2024/04/19 11:55

目的:在嵌入式系统中,视频采集主要采用两种接口:一种是标准摄像头接口,一种是USB接口(USB1.1)。标准的摄像头接口,接口复杂,但传输速度快,适合高质量视频采集,而USB接口,接口简单,但有性能瓶颈,只能用于低质量的视频采集。我采用的是mini2440开发板,内为S3C2440芯片,S3C2440自带USB1.1主机接口和CMOS摄像头标准接口。所以mini2440开发板的两种视频采集方式都可以,这里主要介绍基于USB摄像头的视频采集。

设备:
1.笔记本电脑(操作系统:win10)
2.虚拟机(VMware Workstation12 )
3.Linux系统(Fedora24)
4.mini2440开发板
5.USB摄像头(十几块钱的山寨摄像头,视频输出格式为YUYV,接口为USB2.0接口兼容USB1.1)

应用层框架解析:

首先由USB摄像头输出数据,其格式为YUYV格式,无法直接显示在LCD上,需先转化为RGB格式。

数据流向图

因此,应用程序框架应为(伪代码):

int main(){    1.LCD_DeviceInit();    //LCD初始化    2.Video_DeviceInit();  //USB摄像头初始化    while1)    {         3.Video_GetData();        //获取USB摄像头输出数据        4.Yuv2RgbConvert();       //将YUYV数据转换为RGB格式        5.LcdSetData2FrameBuf();  //输入至LCD显示    }    return 0;}

下一步:解析LCD应如何初始化

0 0
原创粉丝点击