1、概述
此篇主要是记录一下如何将OpenCV集成得到Qt Creator中,并将OpenCV的Mat对象转换为QImage并使用qt的api显示图片
a.使用Qt Creator开发工具集成OpenCV,在.pro文件中配置环境即可,如下图所示
b.将Mat对象转为QImage对象并使用Qt显示出来的步骤如下:
1.将使用OpenCV imread函数加载一张图片
2.将Mat转为QImage
3.将QImage转为QPixmap
4.将QPixmap放到QLabel上并显示出来
2、示例
/**
* 调用openCV显示一张图片,让图片的尺寸和窗口尺寸保持一致
* @brief MainWindow::MainWindow
* @param parent
*/
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
Mat src = imread("C:\\Users\\wei.yang\\Downloads\\girl.jpg");
//imshow("girl",src);
QImage dst = QImage(src.data,src.cols,src.rows,src.step,QImage::Format_BGR888);
this->setFixedSize(QSize(dst.width(),dst.height()));//设置窗口为固定尺寸
QLabel *label = new QLabel();//创建一个label
label->setParent(this);//将其父类指向当前窗口,在关闭窗口的时候此label会跟着销毁
label->setFixedSize(QSize(dst.width(),dst.height()));//设置label为固定尺寸
label->setScaledContents(true);//
//label->resize()
label->setPixmap(QPixmap::fromImage(dst));//在label显示图片
}