简介
在 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);
}