一,需求

利用Qt 控件 显示 tiff 图片,由于tiff图像深度位96位,3通道,所以无法直接用QImage 显示,QImage 支持24位,因此需要利用Opencv 进行转换。

二,关键点

(1),96位 深度需要利用 IMREAD_UNCHANGED 模式进行加载

 Mat image2Draw_mat = imread("depth.tiff",cv::ImreadModes::IMREAD_UNCHANGED);

(2),加载后进行 规一化,然后进行位深 转换,将32f 转成8u

Mat normalize_mat;
normalize(image2Draw_mat, normalize_mat, 0, 500, NORM_MINMAX);
normalize_mat.convertTo(normalize_mat, CV_8U);

(3),因为 opencv 是 bgr格式,所以需要将bgr转成 rgb

cv::cvtColor(normalize_mat, normalize_mat, COLOR_BGR2RGB);

(4),因为原图是3通道,所以qt这边使用 QImage::Format_RGB888

const uchar *pSrc = (const uchar*)image2Draw_mat->data;image2Draw_qt = QImage(pSrc, image2Draw_mat->cols,image2Draw_mat->rows,image2Draw_mat->step,QImage::Format_RGB888);

(5),最后建议使用 QGraphicsView 显示 QImage 这样可以进行缩放,更利用观看。

三,位深度的理解

以3通道图像为例,位深度 显示96位,意思是 一个像素,可以显示的颜色范围为2的96次方种,每个通道32位,也就是4个字节。  而Qt Image 最多支持24位,也就是每个通道位8位 一个字节。因此需要将mat 进行转换(normalize_mat.convertTo(normalize_mat, CV_8U)) 把32转成8。之后就可以利用Qt QImage::Format_RGB888 进行加载了。

Qt QImage 显示TIFF格式图片相关推荐

  1. 学习QT之显示SVG格式图片

    SVG的英文全称是Scalable Vector Graphics,即可缩放的矢量图形.它是有万维网联盟在2000年8月制定的一种新的二维矢量图形格式,也是规范中的网格矢量图形标准,是一个开发的图形标 ...

  2. Qt显示wmf格式图片

    Qt显示wmf格式图片         夸平台的Qt不并不支持Auto CAD的输出图wmf.那么怎么才能在Qt下显示wmf格式图片呢?智能用win32 api了.具体过程下面一一介绍.        ...

  3. 【数字图像处理】一.MFC详解显示BMP格式图片

    本文主要是讲述<数字图像处理>系列栏目中的第一篇文章.主要详细介绍了BMP图片格式,同时使用C++和MFC显示BMP格式,主要结合自己的<数字图像处理>课程和以前的项目叙述讲解 ...

  4. MFC详解显示BMP格式图片

    本文主要是讲述<数字图像处理>系列栏目中的第一篇文章.主要详细介绍了BMP图片格式,同时使用C++和MFC显示BMP格式,主要结合自己的<数字图像处理>课程和以前的项目叙述讲解 ...

  5. OpenCasCade学习笔记(三):加载显示STEP格式图片,并实现平移、缩放和旋转操作

    OpenCasCade学习笔记(三):加载显示STEP格式图片,并实现平移.缩放和旋转操作 C3DWidget.h #pragma once#include <QtWidgets/QApplic ...

  6. 前端img标签展示tiff格式图片

    前端img标签展示tiff格式图片 下面展示一些 内联代码片. *html<el-form-item label="参考图片"><img id="img ...

  7. 用JAI实现对TIF(TIFF)格式图片的合并

    用JAI实现对TIF(TIFF)格式图片的合并 方法一: import java.io.File; import java.io.FileOutputStream; import java.io.IO ...

  8. 请问asp.net网页里能显示tiff格式的图片吗?

    我做的存取图片的程序,其它格式的图片都可以显示,可tiff格式的图片总是显示乱码,哪位高手给指点指点是怎么回事?谢谢! 转载于:https://www.cnblogs.com/support/arch ...

  9. QT QImage显示图片后缀问题,不能显示图片(Image is a null image)

    QImage在加载图片的时候是按图片后缀识别图片类型的,加入我们有一张png的图片,但是图片后缀却是jpg,这时候按jpg加载就会出错,所以我们加载图片的时候可以给QImage指定后缀列表 QImag ...

最新文章

  1. BZOJ 1194: [HNOI2006]潘多拉的盒子 [DP DFA]
  2. 企业级 SpringBoot 教程 (三)SpringBoot用JdbcTemplates访问Mysql
  3. 前端人员如何模拟慢网速环境
  4. ASP.NET-----Repeater数据控件的用法总结
  5. weblogic查看内存情况
  6. 【KVM系列08】使用 libvirt 迁移 QEMU/KVM 虚机和 Nova 虚机
  7. 【计算机组成原理】数据存储的大端和小端
  8. 一 python编程基础
  9. eclipse的插件安装
  10. poj 1269 Intersecting Lines
  11. Elastic Search 查询语法大全
  12. cad布局怎么用_【CAD】CAD布局怎么用?
  13. 三维匹配_为什么你的倾斜摄影三维建模模型效果差,都进来看看
  14. 校园 计算机网络设置路由器,GSWiFi路由器校园网怎么设置
  15. python中format使用
  16. 微信小程序(uni-app)
  17. 介绍个人计算机水平,计算机个性自我介绍范文
  18. 店铺定位目的,品牌传播,产品、人群、价格定位
  19. 通达信量化接口主力进出指标分析
  20. java春招面试冲刺系列:mysql基础知识超详细复习

热门文章

  1. 用python tkinter组件实现扫雷游戏
  2. aspose word转pdf 中文乱码
  3. ORACLE修改字段长度!
  4. 网页设计的目的是什么
  5. 如何进行软件评审工作
  6. 【全套资料.zip下载】数电课设-数字频率计Multisim仿真设计【Multisim仿真+报告+讲解视频.zip下载】
  7. 洛谷刷题笔记 奥运奖牌计数
  8. IOS7.X完美越狱解决被安装太极助手的方法
  9. PHP反序列化由浅入深,细说php反序列化字符逃逸
  10. 通过xml可以直观的解析GPU信息与进程信息