前言
环境:VS019 opencv4.5.4 qt5.12.5
一、部分代码展示
#include "qtguiapplication2.h"
#include "qfiledialog.h"
using namespace cv;
using namespace std;
QtGuiApplication2::QtGuiApplication2(QWidget* parent)
:QMainWindow(parent)
{
ui.setupUi(this);
}
void QtGuiApplication2::on_PictureDisplay_clicked()
{
QString filename;
filename = QFileDialog::getOpenFileName(this,
tr("选择图像"),
"",
tr("Images (*.png *.bmp *.jpg *.tif *.GIF )"));
if (filename.isEmpty())
{
return;
}
else
{
string str = filename.toStdString(); // 将filename转变为string类型;
Mat image = imread(str);
//image=imread(fileName.toLatin1().data);
cvtColor(image, image, COLOR_BGR2RGB);
cv::resize(image, image, Size(300, 200));
QImage img = QImage((const unsigned char*)(image.data), image.cols, image.rows, QImage::Format_RGB888);
label = new QLabel();
label->setPixmap(QPixmap::fromImage(img));
label->resize(QSize(img.width(), img.height()));
ui.scrollArea->setWidget(label);
}
}