2017-02-01 3 views
-4

У меня есть папка, которая содержит некоторые изображения. У меня нет имен файлов изображений. Я использую openCV с C++. Я хочу прочитать любое изображение .jpeg в папке и взять имя файла этого изображения в виде строки, когда я прочитал изображение. Является ли это возможным? Могу ли я использовать метод imread для этого?Прочтите любое .jpg Изображение в папке с OpenCV (C++)

Я ценю ваш помогает

+3

Да и да. Также я не хочу этого говорить, но если вы google «imread opencv», самая первая ссылка - пример того, как открывать изображения, а сама вторая ссылка - «документированная» документация. – SingerOfTheFall

+0

Возможный дубликат [Невозможно прочитать изображение в opencv] (http://stackoverflow.com/questions/25904628/can-not-read-image-in-opencv) – Jonas

+0

@SingerOfTheFall Спасибо за ваш добрый ответ !! Mr./Mrs Genius, но я хочу читать ЛЮБЫЕ изображения в файле, у меня нет имени файла изображения, и я хочу получить имя в виде строки при чтении. Я не мог найти какую-либо информацию в Google. – CodeJam

ответ

1

Если у вас есть доступ для повышения:

boost::filesystem::directory_iterator itr(boost::filesystem::path("your_folder_path")); 

for(itr; itr != boost::filesystem::directory_iterator(); ++itr) 
{ 
    if(itr->path().extension().string() == ".jpg") 
    { 
     std::string imageFilename = itr->path().filename().string(); 
     imread(imageFilename); 
    } 
} 

Если у вас нет/не хотите использовать импульс, вы можете использовать cv::glob, чтобы получить список файлы в каталоге:

vector<String> filenames; 

// Get all jpg in the folder 
cv::glob("your/folder/name/*.jpg", filenames); 

for (size_t i=0; i<filenames.size(); i++) 
{ 
    Mat im = imread(filenames[i]); 
} 
+0

Нет необходимости использовать boost. Вы можете использовать [cv :: glob] (http://stackoverflow.com/a/26536198/5008845) – Miki

+0

@Miki, я знаю, но вопрос был удален на некоторое время, и у меня не было возможности изменить мои Ответ – SingerOfTheFall

+0

Конечно, я просто указал на это, на всякий случай. Я бы закрыл его как дубликат, но я уже проголосовал до того, как появилось слово «папка» – Miki

 Смежные вопросы

  • Нет связанных вопросов^_^