Я передаю строку, представляющую путь к папке, в качестве параметра для конструктора.
Имя папки, файлы в ней и их имена могут различаться, но расширения двух файлов всегда одинаковы:*.caffemodel
и *.prototxt
.
Как я могу ссылаться на эти два файла в указанном каталоге, используя их расширение, не сканируя всю папку, чтобы получить их полные имена?
Какпример вот код моего класса:
#include "NeuralClassifier.hpp"
NeuralClassifier::NeuralClassifier(std::string path)
{
std::string modelName = path + "/*.caffemodel";
std::string protoName = path + "/*.prototxt";
cv::dnn::Net net;
try {
net = dnn::readNetFromCaffe(protoName, modelName);
}
catch (cv::Exception& e) {
std::cerr << "Exception: " << e.what() << std::endl;
if (net.empty())
{
std::cerr << "Can't load network by using the following files: " << std::endl;
std::cerr << "prototxt: " << protoName << std::endl;
std::cerr << "caffemodel: " << modelName << std::endl;
std::cerr << "bvlc_googlenet.caffemodel can be downloaded here:" << std::endl;
std::cerr << "http://dl.caffe.berkeleyvision.org/bvlc_googlenet.caffemodel" << std::endl;
exit(-1);
}
}
}