简介
在 Qt 中图片资源文件路径为 “:/xxx/xxx/xxx.png” 这种格式,而使用 OpenCV 的 imread() 函数是无法直接用这样的路径读取图像的。如果想要使用 OpenCV 的 imread() 函数读取 Qt 中的图片资源文件,需要先将图片读取到 QByteArray 数组中,然后使用 imdecode 函数实现读取。
示例
QFile file(":/image/images/img.png");
if(!file.open(QFile::ReadOnly))
qDebug<< "读取失败" <<endl;
else
{
QByteArray tempBA = file.readAll();
Mat img = imdecode(vector<char>(tempBA.begin(), tempBA.end()), 1);
namedWindow("img");
imshow("img",img);
waitKey(1000);
}

本文介绍如何在Qt应用程序中使用OpenCV的imread()函数读取Qt资源文件中的图片。通过将图片资源读取到QByteArray,再转换为OpenCV的Mat类型,实现跨框架的图像处理。
1152

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



