

`//--------------------------------------------------------------------
QString Qfilename = QFileDialog::getOpenFileName(this, tr(“选择图像”), “”, tr(“Images (*.png *.bmp *.jpg)”));
if (Qfilename.isEmpty() && isFirst_open)
{
QMessageBox::information(this, tr(“打开图像失败”), tr(“没有选择图片”));
return;
}
else if (Qfilename.isEmpty() && !isFirst_open)
{
}
else
{
filename = Qfilename.toStdString();
srcImg = imread(filename);
cvtColor(srcImg, grayImg, COLOR_BGR2GRAY);
isFirst_open = 0;
}
Mat temp;
QImage Qtemp;
cvtColor(srcImg, temp, COLOR_BGR2RGB);//BGR convert to RGB
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();`

本文详细介绍了如何在QT环境中利用OpenCV库加载并显示图像的过程。通过具体的代码示例,展示了如何选择图像文件,将图像从BGR颜色空间转换到RGB颜色空间,以及如何将OpenCV的Mat类型转换为QT的QImage类型,最终在QT界面中正确显示图像。
1万+

被折叠的 条评论
为什么被折叠?



