主题 : mini2440 usb摄像头程序 复制链接 | 浏览器收藏 | 打印
我爱嵌入式!
级别: 新手上路
UID: 57649
精华: 0
发帖: 28
金钱: 140 两
威望: 28 点
综合积分: 56 分
注册时间: 2011-10-27
最后登录: 2012-11-12
楼主  发表于: 2011-10-27 16:05

 mini2440 usb摄像头程序

以下是我自己写的linux下面的usb摄像头程序,运行后LCD上只有黑乎乎的一块。。。求高手指教
#include <stdio.h>
#include <fcntl.h>
#define VIDEO_SIZE 230400
#define FB_SIZE 153600
int main()
{
    int i,ret;
    char buf_video[VIDEO_SIZE],buf_fb[FB_SIZE];
    int fd_video,fd_fb;
    if((fd_video=open("/dev/video0",O_RDWR))<0)
        printf("Open Error!\n");
    printf("running!\n");
    while(1)
    {
        if((ret=read(fd_video,buf_video,VIDEO_SIZE))<0)printf("Read Video Error!\n");
        for(i=0;i<76800;i++)
        {
            buf_fb[2*i+1] = (buf_video[3*i+2]&0xf8)|((buf_video[3*i+1]>>5)&0x07);
            buf_fb[2*i] = ((buf_video[3*i+1]<<3)&0xe0)|((buf_video[3*i]>>3)&0x1f);
        }
        if((fd_fb=open("/dev/fb0",O_RDWR))<0)printf("Open Error2!\n");
        write(fd_fb,buf_fb,FB_SIZE);
        close(fd_fb);
    }
    close(fd_video);
    return 0;
}
级别: 侠客
UID: 39408
精华: 0
发帖: 52
金钱: 260 两
威望: 52 点
综合积分: 104 分
注册时间: 2011-03-08
最后登录: 2013-03-12
1楼  发表于: 2011-10-27 16:11
无能为力