我正在做一个静脉模式识别项目。我已经和SURF检测器进行了一对一的匹配,只要给出文件名,它就能正常工作。现在,有没有一种方法,我可以进行一对多的比较,并打开与图像最匹配的图像?比如输入一个文件名,然后与目录中的图像进行比较?有没有什么内置的函数可以用来遍历图片目录?
我正在做的项目是C++,Ubuntu12.04LTS,Opencv。
任何帮助我们都深表感谢。
发布于 2014-01-23 12:19:07
您可以使用以下函数来获取给定文件夹中的所有文件。
int getdir (string dir, vector<string> &files)
{
DIR *dp;
struct dirent *dirp;
if((dp = opendir(dir.c_str())) == NULL) {
cout << "Error(" << errno << ") opening " << dir << endl;
return errno;
}
while ((dirp = readdir(dp)) != NULL) {
files.push_back(string(dirp->d_name));
}
closedir(dp);
return 0;
}
之后,所有文件都将保存在vector<string> files
中。你可以查看here了解更多信息。
附注:要实现一对多匹配,我认为您需要循环这些文件,并基于简单的一对一匹配进行比较,然后选择最佳匹配。
https://stackoverflow.com/questions/21295941
复制相似问题