Mat转换为QImage
请留意:
opencv为3.0.0版本,Qt为4.8.4版本
#include"image1.h"
#include<QApplication>
#include<QImage>
#include<QDebug>
#include<opencv2/opencv.hpp> int main(int argv , char* argc[] ){ QApplication a(argv,argc);
QImage img;
cv::Mat mat = cv::imread("D:\\image\\4.png",true);
if(mat.empty()){ qDebug()<<"load image fail!";
return a.exec();
}
int chana = mat.channels();
//依据通道数不同,改变不同的装换方式
if( == chana ){
//调整通道次序
cv::cvtColor(mat,mat,CV_BGR2RGB);
img = QImage(static_cast<uchar *>(mat.data),mat.cols,mat.rows,QImage::Format_RGB888);
}else if( == chana ){
//argb
img = QImage(static_cast<uchar *>(mat.data),mat.cols,mat.rows,QImage::Format_ARGB32);
}else {
//单通道,灰度图
img = QImage( mat.cols, mat.rows , QImage::Format_Indexed8);
uchar * matdata = mat.data;
for(int row = ; row <mat.rows ; ++row ){
uchar* rowdata = img.scanLine( row );
memcpy(rowdata,matdata ,mat.cols);
matdata+=mat.cols;
}
}
Image1 w ;
w.load(img);
w.show();
return a.exec();
}
效果图:
用Qimage进行缩放:

当然也可以用opencv自带的imshow进行显示

@@)B$$YI93PQB_8FL4K6.jpg)
Mat转换为QImage的更多相关文章
- Convert between cv::Mat and QImage 两种图片类转换
在使用Qt和OpenCV混合编程时,我们有时需要在两种图片类cv::Mat和QImage之间进行转换,下面的代码参考了网上这个帖子: //##### cv::Mat ---> QImage ## ...
- OpenCV图片类cv::Mat和QImage之间进行转换(好多相关文章)
在使用Qt和OpenCV混合编程时,我们有时需要在两种图片类cv::Mat和QImage之间进行转换,下面的代码参考了网上这个帖子: //##### cv::Mat ---> QImage ## ...
- 【资料收集】Converting Between cv::Mat and QImage or QPixmap
参考: 方法一 Convert between cv::Mat and QImage 两种图片类转换 - Grandyang - 博客园 http://www.cnblogs.com/grandyan ...
- cv::Mat转换QImage
cvtColor(img, img, CV_BGR2RGB); QImage image((uchar*)img.data,img.cols,img.rows,QImage::Format_RGB88 ...
- cv::mat转换成QImage的问题
在进行cv::mat转换为QImage过程中,经常出现问题: cv::Mat image; ...QImage img=QImage((const unsigned char*)(image.data ...
- 一个显示 OpenCV Mat 图像的自定义 Qt 控件
今天学习 Qt 的时候顺手写了一个,包含一个头文件 qcvdisplay.h 和一个源文件 qcvdisplay.cpp,因为这是 qt 默认的文件命名方式,在 Qt Designer 中提升控件时会 ...
- qt: 打不开png图像以及opencv加载中文路径问题;
经过亲测, QT(版本: 5.9.4)提供的QImageReader或者函数load在加载本地png图像时,均会提示失败, 按照网上的方法,将Qt plugins下的imageformats 拷贝到e ...
- 将Mat类型转换成QImage类型
ui 头文件 #ifndef DIALOG_H #define DIALOG_H #include <QDialog> #include<opencv2/highgui/highgu ...
- QImage与cv::Mat转换;
QImage主要格式有QImage::Format_RGB32, QImage::Format_RGB888, QImage::Format_Index8, 不同的格式有不同的排布: 格式部分可以参考 ...
随机推荐
- C语言 04 进制
%d 或者%i 十进制 %c 输出字符 %p 输出地址 %f 输出小数 %o 八进制 %x 十六进制 一个int类型变量占4字节,占32bit(位) 例子:十进制 int=12 转二进制 0000 ...
- WPF、Sivelright、UWP
Sivelright: http://www.cnblogs.com/webabcd/category/106371.html UWP 律师查询 MVVM WPF入门教程系列一——基础 WPF入门教 ...
- heartbeat
http://www.bubuko.com/infodetail-1174857.html http://www.cnblogs.com/zhanjindong/p/3618055.html http ...
- selenium测试(Java)--多窗口切换(十三)
selenium测试(Java)--多窗口切换(十三) 如果遇到点击按钮或链接后出现新窗口的情况,就需要使用窗口切换的方法. 本例中就是先打开百度搜索界面,然后利用js打开一个百度新闻界面,然后通过s ...
- Java Web学习路线
2016-08-22的早上,本是一个很平静的早上,坐在去往公司的公交车上想到了很多之前上学时的点点滴滴,回想起来还真的是耐人寻味啊,当初青春的懵懂,当初的冲动,当初的做事不考虑后果! 也正是这耐人寻味 ...
- 【转】The import javax.servlet cannot be resolved
转载地址:http://www.2cto.com/kf/201212/176868.html 今天将别人的项目导入eclipse之后,出现了“The import javax.servlet cann ...
- 华硕电脑u盘启动及原来win8现在安装win7后找不到硬盘解决方法
1.设置U盘启动 开机按F2进入BIOS,Security-Secure Boot Control设为Disabled , BOOT-Lunch CSM 设为Enabled 按F10保存. 重启按ES ...
- proxifier 3.29 key
Proxifier 3.29 serial key :- [Use only One ] (Standard Edition Keys) 5EZ8G-C3WL5-B56YG-SCXM9-6QZA ...
- 关于sql 的列转行
select * from TbaleOne unpivot(qty ])) as up go select * from TableTwo unpivot(grate for subject in ...
- 配置L2TP IPsec VPN (CentOS 6.5)
1. 安装相关包 yum install -y ppp iptables make gcc gmp-devel xmlto bison flex libpcap-devel lsof vim-enha ...