当前位置: 首页 > article >正文

彩色图像Opencv转Qimage【避坑】

场景:
工业相机取流后,用cvMat保存,然后转Qimage在主界面中显示。
pixdat.constData():相机流的内存地址

cv::Mat mat = cv::Mat(height, width, CV_8UC3);
std::memcpy(mat.data, pixdat.constData(), pixdat.size());
QImage imageQt(mat.data, mat.cols, mat.rows, mat.step, QImage::Format_BGR888);
//使用Qimage自带函数 进行 BGR -》 RGB 通道转换
QImage image = imageQt.rgbSwapped(); 

这种方式效率很慢(界面巨卡)。怀疑Qimage内部没有针对图像处理进行优化(加速)

如果 BGR -》 RGB 通道转换 使用cvMat进行,然后再转换成Qimage,则界面显示很顺畅!

cv::Mat mat = cv::Mat(height, width, CV_8UC3);
std::memcpy(mat.data, pixdat.constData(), pixdat.size());
cv::Mat rgbMat;
cv::cvtColor(mat, rgbMat, cv::COLOR_BGR2RGB);
QImage imageQt(mat.data, mat.cols, mat.rows, mat.step, QImage::Format_BGR888);
QImage image = imageQt.copy();

http://www.kler.cn/a/585633.html

相关文章:

  • ELK(Elasticsearch、Logstash、Kbana)安装及Spring应用
  • C语言从入门到精通
  • 程序化广告行业(14/89):DSP供应商评估、服务模式与常见平台
  • MySQL 衍生表(Derived Tables)
  • 动态路径规划——01背包问题讲解和通过滚动数组优化
  • 零基础小白如何系统学习Spring Boot
  • 无需微调的对齐方法URIAL
  • 态势感知产品通用的一些安全场景设计
  • Python实现计算地图多个点的中心位置(详细功能实现及环境搭建)
  • 子像素卷积优化记录
  • vscode 中快捷生成模板快捷键
  • C#-使用VisualStudio编译C#工程
  • 【区块链】以太坊
  • 【go】函数类型的作用
  • 多线程(超详细) (ε≡٩(๑>₃<)۶ 一心向学)
  • 数据库技术
  • C++内建函数对象
  • QT基础十四、绘图
  • RabbitMQ (Java)学习笔记
  • 高安全可靠MCU芯片AS32X601应用解析