日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

C++ Opencv 读取指定路径中的所有文件(图片)及指定路径中指定格式的所有文件(图片)

發布時間:2023/11/27 生活经验 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++ Opencv 读取指定路径中的所有文件(图片)及指定路径中指定格式的所有文件(图片) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

讀取指令路徑下的所有文件,程序如下:

#include <io.h>
#include < fstream>
#include < string>
#include <vector>
#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;//讀入指定文件夾下的所有文件
void getFiles(string path, vector<string>& files)
{intptr_t   hFile = 0;//intptr_t和uintptr_t是什么類型:typedef long int/ typedef unsigned long intstruct _finddata_t fileinfo;string p;if ((hFile = _findfirst(p.assign(path).append("\\*").c_str(), &fileinfo)) != -1)//assign方法可以理解為先將原字符串清空,然后賦予新的值作替換。{do{if (strcmp(fileinfo.name, ".") != 0 && strcmp(fileinfo.name, "..") != 0)//這句有點不明白,如果不加,識別的文件里就有.和..兩個文件,哪位大神可以給解釋下?感激不盡!!!{files.push_back(p.assign(path).append("\\").append(fileinfo.name));}}while (_findnext(hFile, &fileinfo) == 0);_findclose(hFile);}
}
//調用
int main()
{string filePath = "E:\\IME\\"; //正樣本路徑vector<string> files;getFiles(filePath, files);int number = files.size();//文件數量for (int i = 0; i < number; i++){Mat img = imread(files[i]);}}

運行結果如下

讀取文件夾下指定格式的所有文件,本程序是讀取文件夾下所有jpg圖片

#include <io.h>
#include < fstream>
#include < string>
#include <vector>
#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;//讀入文件夾下指定格式的所有文件,本程序是讀取文件夾下所有jpg圖片
void getFiles(string path, string file_format, vector<string>& files)
{intptr_t   hFile = 0;//intptr_t和uintptr_t是什么類型:typedef long int/ typedef unsigned long intstruct _finddata_t fileinfo;string p, file_formatName;if (0 != strcmp(file_format.c_str(), "")){file_formatName = "\\*." + file_format;}else{file_formatName = "\\*";}if ((hFile = _findfirst(p.assign(path).append(file_formatName).c_str(), &fileinfo)) != -1)//assign方法可以理解為先將原字符串清空,然后賦予新的值作替換。{do{files.push_back(p.assign(path).append("\\").append(fileinfo.name));}while (_findnext(hFile, &fileinfo) == 0);_findclose(hFile);}
}
//調用
int main()
{string filePath = "E:\\IME\\Job\\Test Images\\im_raw\\"; //正樣本路徑vector<string> files;string file_format = "jpg";getFiles(filePath, file_format, files);int number = files.size();//文件數量for (int i = 0; i < number; i++){Mat img = imread(files[i]);}}

運行結果如下

結尾附本人的另一篇文章_finddata_t _findfirst(), _findnext(), _findclose() 函數講解,如果大家有需要了解的自行參考:

https://blog.csdn.net/duiwangxiaomi/article/details/98186672

總結

以上是生活随笔為你收集整理的C++ Opencv 读取指定路径中的所有文件(图片)及指定路径中指定格式的所有文件(图片)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。