如果您想对matchTemplate
存储在一个目录中的多个图像应用一个方法(此处),您应该使用一个函数将该目录中每个图像的名称存储到一个向量(即std::vector<std::string>
)中并对其进行迭代。
这是一个使用示例boost
:
int EnumerateFiles(const std::string& target_path, const std::string& ext, std::vector<std::string>& res){
boost::filesystem::directory_iterator end_itr: // default ctor yields past-the-end
for(boost::filesystem::directory_iterator i(target_path); i != end_itr; ++it){
// skip if not a file
if( !boost::filesystem::is_regular_file( i->status() ) ) continue;
// skip if no match with extension
if( i->path().extension() != ext.c_str() ) continue;
// file matches, store it
res.push_back(i->path().filename().c_str());
}
}
然后你可以迭代你的main
函数:
for(size_t i=0; i<res.size(); ++i){
my_method(target_path+"/"+res.at(i), .. );
}