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

关于 QImage原始数据格式与cv::Mat原始数据进行手码数据转换 的解决方法

若该文为原创文章,转载请注明原文出处
本文章博客地址:https://hpzwl.blog.csdn.net/article/details/141996117

长沙红胖子Qt(长沙创微智科)博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…)

Qt开发专栏:各种问题解决(点击传送门)


问题

  环视算法,因为融合的时候由于方案商平台编译环境没有给opencv的库,用QI mage的原始data直接入,测试发现存在拼接是乱图的问题,需要定位并解决。
  在这里插入图片描述


相关博客

  《OpenCV开发笔记(三):OpenCV图像的概念和基本操作》
  《OpenCV开发笔记(四):OpenCV图片和视频数据的读取与存储》


原理

  传递rgb原始共享内存数据进行拼接,只有宽高和数据排列的问题。


解决方法:

方法一:添加opencv编译环境

  直接加上opencv编译环境,因为固件不是我们弄得,怕存在问题,也不想编译那么麻烦。(固件是有opencv得,但是开发环境没有)

方法二:写程度对QImage与cv::Mat的原始数据格式对比

  一个是数据格式问题,QImage加载默认rgba,cv::Mat为三通道;
  一个是宽高问题,通过对比数据发现宽高没有不一致。(cv::Mat是先高度后宽度,这个对图像按照一行一行排列是没有影响的)
  在这里插入图片描述

  一个是rgb的问题,通过对比mat是存的bgr。
  所以需要进行grb的原始数据转换,转换后对比如下:
  在这里插入图片描述

  在这里插入图片描述
  通过以上方式,可以得到结论:
  转为rgb,并且交换r和b,就能和三通道得mat原始数据格式一致了!


本文章博客地址:https://hpzwl.blog.csdn.net/article/details/141996117

http://www.lryc.cn/news/433358.html

相关文章:

  • 前端WebSocket客户端实现
  • 读取realsense d455双目及imu
  • 浮点的运算
  • 对随机游走问题的分析特定行为模式的建模
  • JVM面试(七)G1垃圾收集器剖析
  • php转职golang第一期
  • java后端服务监控与告警:Prometheus与Grafana集成
  • 【系统架构设计师】工厂方法设计模式
  • 怎样解决OpenEuler下载sdl2失败
  • 基于Python的自然语言处理系列(2):Word2Vec(负采样)
  • 每日一题|牛客竞赛|四舍五入|字符串+贪心+模拟
  • 大数据之Flink(六)
  • 设计模式学习[5]---装饰模式
  • 3.C_数据结构_栈
  • Debian11安装DolphinScheduler
  • C语言深度剖析--不定期更新的第五弹
  • python之事务
  • 文件加密软件都有哪些?推荐6款文件加密工具
  • Docker中的容器内部无法使用vi命令怎么办?
  • 【Linux系统编程】TCP实现--socket
  • 企业微信hook协议接口,聚合群聊客户管理工具开发
  • Selenium集成Sikuli基于图像识别的自动化测试
  • 【STM32实物】基于STM32设计的智能仓储管理系统(程序代码电路原理图实物图讲解视频设计文档等)——文末资料下载
  • libtool 中的 .la 文件说明
  • NLP-transformer学习:(6)dataset 加载与调用
  • 数据库系统 第43节 数据库复制
  • LabVIEW FIFO详解
  • 如何验证VMWare WorkStation的安装?
  • 论文阅读:AutoDIR Automatic All-in-One Image Restoration with Latent Diffusion
  • C++ | Leetcode C++题解之第392题判断子序列