搜索
bottom↓
回复: 11

2440上移植了qt4.8,做了一个USB摄像头采集的程序,但是花屏

[复制链接]

出0入0汤圆

发表于 2017-4-21 16:27:51 | 显示全部楼层 |阅读模式
我在电脑上的qt运行后是正常的图像显示,移植到2440开发板上后图像就花屏了,有人遇到过吗?求助

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2017-4-21 16:46:39 | 显示全部楼层
PC内存多大,2440才多大。
看看内存这块。

出0入0汤圆

 楼主| 发表于 2017-4-21 16:56:35 | 显示全部楼层
Excellence 发表于 2017-4-21 16:46
PC内存多大,2440才多大。
看看内存这块。

你的意思是指程序里存储图像占用内存太大吗?而2440的内存太小

出0入90汤圆

发表于 2017-4-21 17:01:30 | 显示全部楼层
2440一般是64MB或者128MB的内存,跑个USB摄像头绰绰有余了。程序在PC上面运行正常,在2440上面运行不正常。
看看是不是2个摄像头支持的格式不一样造成的;

话说我的程序是在PC上面不正常,在板子上面正常。

出0入0汤圆

 楼主| 发表于 2017-4-21 17:09:08 | 显示全部楼层
本帖最后由 thy110 于 2017-4-21 17:10 编辑
honami520 发表于 2017-4-21 17:01
2440一般是64MB或者128MB的内存,跑个USB摄像头绰绰有余了。程序在PC上面运行正常,在2440上面运行不正常。 ...


我的是3.4.2的内核,摄像头是USB2.0的uvc摄像头,用的V4l2写的摄像头程序,数据格式是yuv格式转换成RGB16的,我的液晶屏是RGB565的。我看网上有人说是USB1.1接口的问题,不知道是不

出0入0汤圆

发表于 2017-4-21 17:16:14 | 显示全部楼层
thy110 发表于 2017-4-21 16:56
你的意思是指程序里存储图像占用内存太大吗?而2440的内存太小

嗯。先看看这块。
排除法解决问题。

出0入0汤圆

 楼主| 发表于 2017-4-21 17:21:16 | 显示全部楼层
Excellence 发表于 2017-4-21 17:16
嗯。先看看这块。
排除法解决问题。

我的像素是16位的,一张照片是640*480的,大约0.58MB,我的缓存队列中存储了2张照片,内存是64MB的,内存空间应该是绰绰有余的。

出0入0汤圆

 楼主| 发表于 2017-4-21 20:23:52 | 显示全部楼层
honami520 发表于 2017-4-21 17:01
2440一般是64MB或者128MB的内存,跑个USB摄像头绰绰有余了。程序在PC上面运行正常,在2440上面运行不正常。 ...

查看了一下后台占用情况,内存还好,cpu占用率非常高,不知道怎么回事?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入90汤圆

发表于 2017-4-21 21:41:21 | 显示全部楼层
thy110 发表于 2017-4-21 20:23
查看了一下后台占用情况,内存还好,cpu占用率非常高,不知道怎么回事? ...

Qt刷摄像头到界面显示,非常占CPU速度。我以前问过别人,没人能回答得非常好;

出0入84汤圆

发表于 2017-4-21 23:57:11 | 显示全部楼层
1,你的USB是1.1的,速度慢,但是和花屏无关。
2,你看下摄像头是MJPEG还是YUV的,不管什么什么格式,如果用QT自带的代码来刷图,都需要转换下图像格式,花屏估计就是这部分的问题。
3,CPU占用高可以考虑换带MJPEG硬解的芯片或者性能更好,内存带宽更高的芯片。

出0入0汤圆

 楼主| 发表于 2017-4-22 10:51:11 | 显示全部楼层
本帖最后由 thy110 于 2017-4-22 10:53 编辑
boyiee 发表于 2017-4-21 23:57
1,你的USB是1.1的,速度慢,但是和花屏无关。
2,你看下摄像头是MJPEG还是YUV的,不管什么什么格式,如果 ...


1、知道了
2、我的摄像头在ubuntu下的qt运行时是正常的,说明我的像素格式应该是没问题的,就是YUV的,然后我再把YUV转换成RGB565格式的(我的液晶时RGB565的),代码如下
  1. for(in = 0; in < IMG_WIDTH * IMG_HEIGTH * 2; in += 4)
  2.     {
  3.         y0 = yuv_buffer_pointer[in + 0];
  4.         u  = yuv_buffer_pointer[in + 1];
  5.         y1 = yuv_buffer_pointer[in + 2];
  6.         v  = yuv_buffer_pointer[in + 3];

  7.         r = y0 + (1.370705 * (v-128));
  8.         g = y0 - (0.698001 * (v-128)) - (0.337633 * (u-128));
  9.         b = y0 + (1.732446 * (u-128));

  10.         if(r > 255) r = 255;
  11.         if(g > 255) g = 255;
  12.         if(b > 255) b = 255;
  13.         if(r < 0) r = 0;
  14.         if(g < 0) g = 0;
  15.         if(b < 0) b = 0;

  16.         r1=((r>>3)<<11)&0xf800;
  17.         g1=((g>>2)<<5)&0x07e0;
  18.         b1=(b>>3)&0x001f;
  19.         rgb_buffer[out++] = (r1|g1|b1)&0xff;
  20.         rgb_buffer[out++] = ((r1|g1|b1)>>8)&0xff;


  21.         //rgb_buffer[out++] = r;
  22.         //rgb_buffer[out++] = g;
  23.         //rgb_buffer[out++] = b;

  24.         r = y1 + (1.370705 * (v-128));
  25.         g = y1 - (0.698001 * (v-128)) - (0.337633 * (u-128));
  26.         b = y1 + (1.732446 * (u-128));

  27.         if(r > 255) r = 255;
  28.         if(g > 255) g = 255;
  29.         if(b > 255) b = 255;
  30.         if(r < 0) r = 0;
  31.         if(g < 0) g = 0;
  32.         if(b < 0) b = 0;
  33.         r1=((r>>3)<<11)&0xf800;
  34.         g1=((g>>2)<<5)&0x07e0;
  35.         b1=(b>>3)&0x001f;
  36.         rgb_buffer[out++] = (r1|g1|b1)&0xff;
  37.         rgb_buffer[out++] = ((r1|g1|b1)>>8)&0xff;

  38.        // rgb_buffer[out++] = r>>3;
  39.         //rgb_buffer[out++] = g>>2;
  40.         //rgb_buffer[out++] = b>>3;
  41.     }
  42.     return 0;
复制代码

  1. frame = new QImage(rgb_buffer,640,480,QImage::Format_RGB16);//1111
复制代码

3、我找找芯片。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入84汤圆

发表于 2017-4-22 14:38:54 | 显示全部楼层
frame = new QImage(rgb_buffer,640,480,QImage::Format_RGB16);//1111
改成 frame = new QImage(rgb_buffer,640,480,QImage::Format_RGB888);//1111
试试
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-25 16:46

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表