aihot  2017-05-25 21:04:31  OpenCV |   查看评论   

  OpenCV中有实现遍历文件夹下所有文件的类Directory,它里面包括3个成员函数:(1)、GetListFiles:遍历指定文件夹下的所有文件,不包括指定文件夹内的文件夹;(2)、GetListFolders:遍历指定文件夹下的所有文件夹,不包括指定文件夹下的文件;(3)、GetListFilesR:遍历指定文件夹下的所有文件,包括指定文件夹内的文件夹。

 
若要使用Directory类,则需包含contrib.hpp头文件,此类的实现在contrib模块。
 
下面为测试代码:
  1. cv::Directory dir;  
  2.   
  3. string path1 = "E:/data/image";  
  4. string exten1 = "*.bmp";//"*"  
  5. bool addPath1 = false;//true;  
  6.   
  7. vector<string> filenames = dir.GetListFiles(path1, exten1, addPath1);  
  8.   
  9. cout<<"file names: "<<endl;  
  10. for (int i = 0; i < filenames.size(); i++)  
  11.     cout<<filenames[i]<<endl;  
  12.   
  13. string path2 = "E:/data/image";  
  14. string exten2 = "*";//"Image*";//"*"  
  15. bool addPath2 = true;//false  
  16.   
  17. vector<string> foldernames = dir.GetListFolders(path2, exten2, addPath2);  
  18.   
  19. cout<<"folder names: "<<endl;  
  20. for (int i = 0; i < foldernames.size(); i++)  
  21.     cout<<foldernames[i]<<endl;  
  22.   
  23. string path3 = "E:/data/image";  
  24. string exten3 = "*";  
  25. bool addPath3 = true;//false  
  26.   
  27. vector<string> allfilenames = dir.GetListFilesR(path3, exten3, addPath3);  
  28.   
  29. cout<<"all file names: "<<endl;  
  30. for (int i = 0; i < allfilenames.size(); i++)  
  31.     cout<<allfilenames[i]<<endl;  
 

除特别注明外,本站所有文章均为 赢咖4注册 原创,转载请注明出处来自OpenCV实现遍历文件夹下所有文件

留言与评论(共有 0 条评论)
   
验证码:
[lianlun]1[/lianlun]