使用opencv在QT的label控件上显示图像的办法

参照https://blog.csdn.net/qq_27901091/article/details/75226490

因为使用Imread读入的Mat图像,其矩阵格式是BGR的,我们在label上输出只能使用QT自带的比如QPixmap函数,此时就要对Mat图像进行转化。 主要就3行代码,如下 srcImage4就是用imread读入的图像,或者你经过各种其他处理之后的Mat型的数据就行。先使用cvtColor把BGR颜色空间换成QImage图像的RGB颜色空间,用QImage读入数据,在label上输出就行。

Mat srcImage4 = imread("girl.jpg");

QImage img4;

cvtColor(srcImage4,srcImage4,CV_BGR2RGB);

img4=QImage((const unsigned char*)(srcImage4.data), srcImage4.cols,srcImage4.rows,QImage::Format_RGB888);

ui->label_4->setScaledContents(true);

ui->label_4->resize(ui->label->width(),ui->label->height());

ui->label->setPixmap(QPixmap::fromImage(img4));   //显示图像

猜你喜欢

转载自blog.csdn.net/hahaha_2017/article/details/81349545