vs2015+Qt5.8+opencv 显示一幅图像
来源:互联网 发布:晚上醒了就睡不着 知乎 编辑:程序博客网 时间:2024/05/22 14:32
2017-04-06
方法一:不使用opencv,使用Qt自带的load函数。
在主窗口的构造函数中添加如下:
//ui->setupUi(this); 在后面添加 QImage myImage; myImage.load("lena.jpg"); ui.labelimage->setPixmap(QPixmap::fromImage(myImage).scaled(ui.labelimage->size()));
方法二:使用opencv
配置opencv
在搭建好Qt5.7和Vs2015后,配置opencv,我使用的是opencv3.1。
右击项目》》属性》》VC++目录》》配置包含目录和库目录。
在包含目录中添加:
D:\opencv\opencv\build\include
D:\opencv\opencv\build\include\opencv
D:\opencv\opencv\build\include\opencv2
在库目录中添加
D:\opencv\opencv\build\x64\vc14\lib
在链接器》》输入》》附加依赖项中添加lib文件:
opencv_world310d.lib
同理在Release模式下添加opencv_world310.lib
导入图片
添加头文件opencv2\opencv.hpp
添加button:命名为open
添加label,用于显示图片,命名为imagelabel
手动添加槽和信号,信号是click(),槽函数是:on_openButton_clicked()
void MyTest::on_openButton_clicked(){ QString fileName = QFileDialog::getOpenFileName(this, tr("Open Image"), ".", tr("Image Files (*.png *.jpg *.bmp)")); qDebug() << "filenames:" << fileName; src = cv::imread(fileName.toLatin1().data()); if(src.data) /*cv::imshow("tykgyu", src);//直接显示 waitKey(0);*/ displayMat(src); //显示}
图片类型转换和显示
cv::Mat转换QImage
void MyTest::displayMat(Mat image){ Mat rgb; QImage img; cv::Size cvS; QSize qtS; qtS = ui.imagelabel->size(); cvS.height = ui.imagelabel->height(); cvS.width = ui.imagelabel->width(); cv::resize(image, image,cvS );//图像按照label的大小进行显示 if (image.channels() == 3) { //cvt Mat BGR 2 QImage RGB cvtColor(image, rgb, CV_BGR2RGB); img = QImage((const unsigned char*)(rgb.data), rgb.cols, rgb.rows, rgb.cols*rgb.channels(), QImage::Format_RGB888); } else { img = QImage((const unsigned char*)(image.data), image.cols, image.rows, image.cols*image.channels(), QImage::Format_RGB888); } ui.imagelabel->setPixmap(QPixmap::fromImage(img));//显示}
0 0
- vs2015+Qt5.8+opencv 显示一幅图像
- OpenCV入门----显示一幅图像
- 利用OpenCV显示一幅图像
- 学习opencv(一)--图像显示
- OpenCV(一)显示一幅图像代码详细讲解
- PCL1.8.1+Qt5.9.1+VS2015联合编译和显示三维图像
- VS2015+QT5.7+opencv3.10图像处理
- 用OpenCV显示一幅图像到指定的窗体
- OpenCV笔记2:显示一幅图像(二)_Dos
- vs2010+opencv 读取并显示一幅图像
- 用OpenCV显示一幅图像到指定的窗体
- OpenCV学习(一)显示图像
- 学习OpenCV系列文章一:显示图像
- opencv程序一:加载显示图像
- OPENCV笔记(一)图像显示
- vim+python+OpenCV学习一 : 图像显示
- OpenCV学习笔记(一):图像显示
- OpenCV(一)图像的打开与显示
- 深入Java基础(四)--哈希表(1)HashMap应用及源码详解
- UGUI背包实现详解之二——UGUI组件如何搭配使用做出背包
- 如何查看Linux中的全部用户
- JVM配置参数
- 野谈系列之高性能可定制化分布式发号器
- vs2015+Qt5.8+opencv 显示一幅图像
- jetty下项目解压目录及其配置端口
- 响应式图片的几种解决方案
- 大视野 1854 游戏 匈牙利算法
- 关于 Segmentation fault的总结
- 最小堆的应用之哈弗曼树5.2
- operator--Python内部操作符对应的函数
- React学习之相关堆栈调解器的实现(三十七)
- 安装svn与项目部署