用V4L2的api采集后的数据如何用framebuffer显示到micro2440的LCD上?

weixin_38056491 2019-09-19 12:40:13
现在,把采集的USB图片数据保存到了buffer里了。看一些帖子可以直接用framebuffer显示到LCD上。我用了如下语句:假设ptr是V4L2采集的buffer的数据int x,y;  int location;      for ( y = 0; y < 240; y++ )    // 纵扫描  {         for ( x = 0; x <320; x++ )   // 行扫描      {             location = (x + xoffset) * 2 +(y + yoffset) * vd->finfo.line_length;               *((unsigned short int*)(vd->fbp + location )) = *ptr++;         }    }但是,LCD上显示的一些蓝色。请问该如何弄。请高人指点。是不是需要把采集的数据转化?
...全文
47 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38099915 2019-09-19
  • 打赏
  • 举报
回复
请问楼主,你采集的数据格式是不是YUV422,我想请教一下,你采集的YUV格式不需要转换成RGB格式吗???
weixin_38062262 2019-09-19
  • 打赏
  • 举报
回复
使用mmap将framebuff映射到进程空间,然后操作要简单些。对于你遇到的问题,不是很清楚。你采集到图像格式是什么?
weixin_38063173 2019-09-19
  • 打赏
  • 举报
回复
采集到得图片格式为JPEG.存放在v4l2_buffer结构中。是不是需要转换成RGB才能用framebuffer显示出来?
weixin_38072900 2019-09-19
  • 打赏
  • 举报
回复
请问,楼主,解决了这个问题嘛??
weixin_38090851 2019-09-19
  • 打赏
  • 举报
回复
楼主解决没有啊。V4L2采集出来的yuv直接写入frambuffer,颜色不对,而且出现多个窗口。帮帮忙。。。
weixin_38095150 2019-09-19
  • 打赏
  • 举报
回复
请问,楼主,解决了这个问题吗?我用QImage img((uchar*)buffers[0].start, WIDTH, HEIGHT, 16,0,0,QImage::IgnoreEndian);
weixin_38095580 2019-09-19
  • 打赏
  • 举报
回复
请问,楼主,解决了这个问题吗?我用QImage img((uchar*)buffers[0].start, WIDTH, HEIGHT, 16,0,0,QImage::IgnoreEndian);         pixmap->convertFromImage(img);        lblImage->setPixmap(*pixmap);可以显示图片,但是QLabel会显示两幅一模一样的图片。采集格式为YUYV。

433

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧