Opencv使用imread和QString文件名向量来加载图像

时间:2014-06-17 15:18:35

标签: qt opencv c++11 qstring

我一直试图通过从imread向量中使用MatQString(图像)的向量中读取一些图像来获取QString向量的文件名不编译。我知道我的image = imread( image_vector[i] );的格式是问题,但似乎无法解决。我也试过...... for ( unsigned int i = 0; i < image_names.size(); i++ ) { image = imread( image_names.data()->at(i) ); if( !image.data ) { qDebug()<< "Error"; } else { image_vector.push_back( image ); } } ......以及其他几种方式。非常感谢任何帮助。

{{1}}

1 个答案:

答案 0 :(得分:2)

要使用imread,您必须将std::string传递给它。

Mat imread( const std::string& filename, int flags=1 );

在您的情况下,image_namesvector<QString>,因此正确的代码为:

image = imread( image_names[i].toStdString());