Qwidget+opencv显示图像

时间:2023-03-09 07:39:04
Qwidget+opencv显示图像

步骤

1. 设置opencv库路径

在.pro文件中添加

INCLUDEPATH += D:/opencv/OpencvMingw/opencv310/include
LIBS += D:/opencv/OpencvMingw/opencv310/x86/mingw/lib/libopencv_*

2. 界面显示图像

首先在界面上添加一个QLabel,然后在代码中调用Opencv并显示图像

    Mat im0 = imread("d://dlrb.png");
QImage image = Mat2QImage(im0);
ui->label->move(0,0);
ui->label->resize(im0.cols, im0.rows);
ui->label->setPixmap(QPixmap::fromImage(image));

其中Mat2QImage定义如下

static QImage Mat2QImage(Mat& image)
{
QImage img; if (image.channels()==3) {
cvtColor(image, image, CV_BGR2RGB);
img = QImage((const unsigned char *)(image.data), image.cols, image.rows,
image.cols*image.channels(), QImage::Format_RGB888);
} else if (image.channels()==1) {
img = QImage((const unsigned char *)(image.data), image.cols, image.rows,
image.cols*image.channels(), QImage::Format_ARGB32);
} else {
img = QImage((const unsigned char *)(image.data), image.cols, image.rows,
image.cols*image.channels(), QImage::Format_RGB888);
} return img;
}