QT的QImage 用scaled只能缩放Format_RGB888 不能缩放 Format_Indexed8

litudong6167 2017-07-22 04:47:00
项目是读取大恒相机的图像并显示出来
硬件:IMX6的开发板
软件:ubuntu qt
摄像头输出格式:raw 8 (黑白)

问题:摄像头读取数据正常,摄像头像素1280*1024 显示区域 300*200

情况1,如将摄像头读取的数据转换为Format_Indexed8用Scaled缩放,直接显示为空白,(如不缩放,可正常显示)
转换函数:QImage img3 = QImage((const unsigned char *)image_buffers[buf.index].start,g_nSetWidth,g_nSetHeight,QImage::Format_Indexed8);
显示函数:
QImage newimg3 = img3.scaled(220,140,Qt::KeepAspectRatio);
ui->label_show->setPixmap(QPixmap::fromImage(newimg3));

情况2,如将摄像头读取的数据转换为Format_RGB888但用Scaled缩放,显示有9(行3 列3)幅图像,3幅正常
转换函数:QImage img3 = QImage((const unsigned char *)image_buffers[buf.index].start,g_nSetWidth,g_nSetHeight,QImage::Format_Indexed8);
显示函数:
QImage newimg3 = img3.scaled(220,140,Qt::KeepAspectRatio);
ui->label_show->setPixmap(QPixmap::fromImage(newimg3));

请问怎么才能正常显示一幅正常的图像啊?跪求
...全文
1900 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
lazy 2020-12-05
  • 打赏
  • 举报
回复
QVector<QRgb> m_colorTable; for(int k=0;k<256;++k) { m_colorTable.push_back( qRgb(k,k,k) ); } newimg3 .setColorTable(m_colorTable);

23,110

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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