【发布时间】:2013-12-12 13:12:49
【问题描述】:
我有一个从文件夹中读取图像的程序。我正在使用 for 访问文件的所有索引并将它们存储到向量中:
for(int i=0; i<labels.size(); i++){
ostringstream stringStream;
stringStream << setfill ('0') << setw (4) << i;
num2string = stringStream.str();
string img = "C:\\opencvAssets/detected/BioID_"+num2string+".pgm";
//cout<< img <<" \n";
images.push_back(imread(img, CV_LOAD_IMAGE_GRAYSCALE)); //labels.push_back(i);
}
我遇到了一些麻烦,因为文件夹中故意丢失了一些文件。因此,for 方法是禁止的。如何读取所有文件并将它们存储到向量中??
【问题讨论】:
-
无法使用标准库获取目录的内容。但是我怀疑 boost 可能会为此提供一个抽象。
-
您想检查具有给定字符串名称的文件是否存在,对吗?看看这个stackoverflow.com/questions/12774207/…或者这个stackoverflow.com/questions/18320486/…
-
如果您有权访问 boost,请使用文件系统库中的目录迭代器。
-
我也遇到了同样的问题,用dirent和fnmatch解决了。