• «
  • 1
  • 2
  • 3
  • »
  • Pages: 2/3     Go
主题 : 为什么 mini2440 usb摄像头 捕获图片很慢 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 33840
精华: 0
发帖: 23
金钱: 115 两
威望: 23 点
综合积分: 46 分
注册时间: 2010-12-07
最后登录: 2011-02-24
10楼  发表于: 2010-12-16 16:51
把你的代码发给我看看吧,邮箱523398026@qq.com
嵌入式致力于物联网,期待结果
级别: 新手上路
UID: 18802
精华: 0
发帖: 32
金钱: 160 两
威望: 32 点
综合积分: 64 分
注册时间: 2010-04-13
最后登录: 2013-03-12
11楼  发表于: 2010-12-23 10:25
学习,最近正要搞这个方面,希望哪位大哥给发点资料,我的摄像头也是良田的,我的邮箱okokwahu@126.com
级别: 新手上路
UID: 33840
精华: 0
发帖: 23
金钱: 115 两
威望: 23 点
综合积分: 46 分
注册时间: 2010-12-07
最后登录: 2011-02-24
12楼  发表于: 2010-12-23 13:35

 回 5楼(anjie) 的帖子

请问你那个yuyv格式的图像怎么显示啊?
我用的摄像头应该是中星微的,输出格式是yuyv,我在捕获摄像头格式是设置为yuyv格式。捕获到一帧数据,怎么让他显示列,把他保存为.jpeg和.bmp格式都无法预览啊?!
求解答,非常感谢!
级别: 新手上路
UID: 19789
精华: 0
发帖: 1
金钱: 5 两
威望: 1 点
综合积分: 2 分
注册时间: 2010-04-23
最后登录: 2017-09-13
13楼  发表于: 2010-12-27 21:45
我也是用UVC的驱动,也是非常慢,感觉USB口等很久才来数据,即使是USB1.1也不应该这么慢三,是不是和射像头的型号有关哦???请高手指点,谢谢!!
级别: 新手上路
UID: 39739
精华: 0
发帖: 12
金钱: 60 两
威望: 12 点
综合积分: 24 分
注册时间: 2011-03-11
最后登录: 2011-06-26
14楼  发表于: 2011-03-15 17:08
跪求楼主代码,毕设要用万分着急,不胜感激额
wy3120_dlmu@163.com
级别: 新手上路
UID: 42144
精华: 0
发帖: 2
金钱: 10 两
威望: 2 点
综合积分: 4 分
注册时间: 2011-04-05
最后登录: 2011-04-07
15楼  发表于: 2011-04-05 11:14

 回 1楼(anjie) 的帖子

楼主,你好,我用的是中星微的摄像头,也是出现了和你一样的问题,捕获图像的速度很慢,不知道楼主的问题解决了吗?求解……
级别: 新手上路
UID: 34846
精华: 0
发帖: 3
金钱: 15 两
威望: 3 点
综合积分: 6 分
注册时间: 2010-12-22
最后登录: 2011-04-13
16楼  发表于: 2011-04-11 10:19

 回 12楼(飘逸凤凰) 的帖子

要把它转换为rgb数据才能在lcd屏上显示的,我的显示程序如下,自己研究下吧
unsigned short R,G,B;
   unsigned long i;
   unsigned short *pDest=NULL;
   pDest=malloc(size);
   unsigned int    x;
   unsigned int    y;
      
       for( i=0;i<size;i+=4)    
       {          
        char Y0 = *(char *)p++;
        char U  = *(char *)p++;
        char Y1 = *(char *)p++;
        char V  = *(char *)p++;
        
        R=(298*(Y0-16)+409*(V-128)+128)/256;
        G=(298*(Y0-16)-100*(U-128)-208*(V-128)+128)/256;
        B=(298*(Y0-16)+516*(U-128)+128)/256;
        if(R   <   0)     R   =   0;
        if(R   >   255)   R   =   255;
        if(G   <   0)     G   =   0;
        if(G   >   255)   G   =   255;
        if(B   <   0)     B   =   0;
        if(B   >   255)   B   =   255;
        R=R/8;G=G/4;B=B/8;
        *pDest=((R<<11)|(G<<5)|B);
        pDest++;
      
        R=(298*(Y1-16)+409*(V-128)+128)/256;
        G=(298*(Y1-16)-100*(U-128)-208*(V-128)+128)/256;
        B=(298*(Y1-16)+516*(U-128)+128)/256;        
          
        if(R   <   0)     R   =   0;
        if(R   >   255)   R   =   255;
        if(G   <   0)     G   =   0;
        if(G   >   255)   G   =   255;
        if(B   <   0)     B   =   0;
        if(B   >   255)   B   =   255;
            
        R=R/8;G=G/4;B=B/8;

        *pDest=(R<<11)|(G<<5)|B;
        pDest++;        
        }    
     pDest=pDest-size;
          
     for(y=0;y<fb_height;y++)       //240
       {
          for(x=0;x<fb_width;x+=1)    //320
          {
                        unsigned short color;
                        color=pDest[y*fb_width+x];
              fb_pixel(fbmem+128,fb_width,fb_height,x,y,color);
              
                   }
       }
级别: 新手上路
UID: 34846
精华: 0
发帖: 3
金钱: 15 两
威望: 3 点
综合积分: 6 分
注册时间: 2010-12-22
最后登录: 2011-04-13
17楼  发表于: 2011-04-11 10:31

 回 楼主(anjie) 的帖子

楼主有没有解决呢,我也遇到同样问题了
大笑笑大
级别: 骑士
UID: 25314
精华: 8
发帖: 184
金钱: 1320 两
威望: 264 点
综合积分: 528 分
注册时间: 2010-07-22
最后登录: 2014-10-11
18楼  发表于: 2011-04-21 14:58

 回 12楼(飘逸凤凰) 的帖子

自己写个YUYV转RGB的程序。很快的
大笑笑大
级别: 骑士
UID: 25314
精华: 8
发帖: 184
金钱: 1320 两
威望: 264 点
综合积分: 528 分
注册时间: 2010-07-22
最后登录: 2014-10-11
19楼  发表于: 2011-04-21 15:05
我用过anc的一个摄像头 zc301 输出格式jpeg 320*240,用QT4做界面 只达到8-10fps
若用yuv 640*480格式输出的摄像头,只能达到2fps,USB传输速度确实很慢。
计算一个,理论上USB1.1的速度有1.5M,实际上只有500-1000Kbs左右。
一张640*480数据YUYV占用的数据长度为640*480*2BTYE=600kb.那么每秒能读取到的内存数据最多2-3帧了。
所以用2440测试USB摄像头要用输出大小为320*240比较合适。
如我用jpeg 320*240开辟的内存空间为32K而已。读取很快了,反而是要解决的是转换为RGB,速度比较慢了。
  • «
  • 1
  • 2
  • 3
  • »
  • Pages: 2/3     Go