示例
注意:本文不会提及太多Qt的具体操作,主要介绍如何用Qt的Label控件显示OpenCV的Mat类图像。
博主是在VS中使用Qt和OpenCV的,主要使用了三个控件,Label
,Push Button
,Check Box
,UI界面效果如下图。
OpenCV中的图像主要存储在Mat类中,要让其显示在Qt的Label控件上,必须先将其转换为Qt的QImage类。这部分代码如下:
Mat temp;
cvtColor(srcImg, temp, CV_BGR2RGB);//BGR convert to RGB
QImage Qtemp = QImage((const unsigned char*)(temp.data), temp.cols, temp.rows, temp.step, QImage::Format_RGB888);
ui.label->setPixmap(QPixmap::fromImage(Qtemp));
ui.label->resize(Qtemp.size());
ui.label->show