亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C > 正文

OpenCV圖像文件批量讀取編程實例

2020-01-26 13:47:14
字體:
來源:轉載
供稿:網友

OpenCV編程實例之圖像文件批量讀取。

本博文摘錄《OpenCV圖像處理編程實例》2.4章節,更詳細的內容請參考本書。

在進行圖片序列處理時,我們常常需要讀取文件夾下的每一個圖片,然后再進行分析處理,因此需要對文件名連續及無規則情況分開討論。對于文件名連續的情況,文件讀取就簡單得多,可以利用sprintf函數實現在窗口中連續讀取同一文件夾下的圖片序列,而對于無規則的情況則可以采用基于C++下WIN32_ FIND_DATA文件的讀取方式。

2.4.6 圖像批量讀取――規則

文件名連續情況下的讀取如代碼2-32所示。

 // 功能:代碼 2-32 文件名連續情況下 // 作者:朱偉 zhu1988wei@163.com // 來源:《OpenCV圖像處理編程實例》 // 博客:http://blog.csdn.net/zhuwei1988 // 更新:2016-8-1 // 說明:版權所有,引用或摘錄請聯系作者,并按照上面格式注明出處,謝謝。//  #include <iostream> #include <stdio.h> #include <stdlib.h> #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp> using namespace cv; using namespace std; int main() { // 定義相關參數 const int num = 4; char fileName[50]; char windowName[50]; cv::Mat srcImage; for (int i = 1; i <= num; i++) { // sprintf讀入指定路徑下圖片序列 sprintf_s(fileName, "..//images//test//1 (%d).jpg", i); sprintf_s(windowName, "NO%d", i); // 按照圖像文件名讀取 srcImage = cv::imread(fileName); if (!srcImage.data) { std::cout << "No data!" << std::endl; return -1; } cv::namedWindow(windowName); cv::imshow(windowName, srcImage); std::cout << "NO: " << i << std::endl; //cv::waitKey(0); /* 該處可以添加處理步驟 */ } cv::waitKey(0); return 0; }

第16行代碼利用sprintf將對應的圖像文件路徑轉換為char*,在這種文件名連續的時候可以選中文件夾中的所有圖像文件,然后用鼠標右鍵選定并重命名,鍵入1后,文件夾的所有文件自動命名為1 (k).jpg,其中k取值為1,2……然后就可以根據本方法進行批量讀取了。

2.4.7 圖像批量讀取――無規則

文件名無規則的情況讀取如代碼2-33所示。

 // 功能:代碼 2-33 文件名無規則情況讀取 // 作者:朱偉 zhu1988wei@163.com // 來源:《OpenCV圖像處理編程實例》 // 博客:http://blog.csdn.net/zhuwei1988 // 更新:2016-8-1 // 說明:版權所有,引用或摘錄請聯系作者,并按照上面格式注明出處,謝謝。//  #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp> #include <iostream> #include <stdio.h> #include <windows.h> using namespace std; // LPCWSTR轉string std::string WChar2Ansi(LPCWSTR pwszSrc) { int nLen = WideCharToMultiByte(CP_ACP, 0, pwszSrc, -1, NULL, 0, NULL, NULL); if (nLen <= 0) return std::string(""); char* pszDst = new char[nLen]; if (NULL == pszDst) return std::string(""); WideCharToMultiByte(CP_ACP, 0, pwszSrc, -1, pszDst, nLen, NULL, NULL); pszDst[nLen - 1] = 0; std::string strTemp(pszDst); delete[] pszDst; return strTemp; } // 利用winWIN32_FIND_DATA讀取文件下的文件名 void readImgNamefromFile(char* fileName, vector <string> &imgNames) { // vector清零 參數設置 imgNames.clear(); WIN32_FIND_DATA file; int i = 0; char tempFilePath[MAX_PATH + 1]; char tempFileName[50]; // 轉換輸入文件名 sprintf_s(tempFilePath, "%s/*", fileName); // 多字節轉換 WCHAR wstr[MAX_PATH] = { 0 }; MultiByteToWideChar(CP_ACP, 0, tempFilePath, -1, wstr, sizeof(wstr)); // 查找該文件待操作文件的相關屬性讀取到WIN32_FIND_DATA HANDLE handle = FindFirstFile(wstr, &file); if (handle != INVALID_HANDLE_VALUE) {  FindNextFile(handle, &file);  FindNextFile(handle, &file);  // 循環遍歷得到文件夾的所有文件名   do  {   sprintf(tempFileName, "%s", fileName);   imgNames.push_back(WChar2Ansi(file.cFileName));   imgNames[i].insert(0, tempFileName);   i++;  } while (FindNextFile(handle, &file)); } FindClose(handle); } int main() { // 設置讀入圖像序列文件夾的路徑 char* fileName = "..//images//test//"; std::vector <string> imgNames; // 獲取對應文件夾下所有文件名 readImgNamefromFile(fileName, imgNames); // 遍歷對應文件夾下所有文件名 for (int i = 0; i < imgNames.size(); i++) {  cv::Mat img = cv::imread(imgNames[i]);  if (!img.data)   return -1;  /* 可添加圖像處理算法code*/  cv::imshow("im", img);  cv::waitKey(0); } return 0; }

利用winWIN32_FIND_DATA讀取文件夾下文件的思路:首先轉換文件夾名,利用FindFirstFile獲取當前文件夾名的句柄;然后遍歷當前文件夾名下的所有文件,將得到的所有文件名稱轉換后賦值于圖像文件向量;最后遍歷完當前文件下的所有文件,生成相應圖像文件索引名稱,用于文件夾中所有圖像文件的讀取,在讀取單個圖像文件后可進行相關的圖像處理操作。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品自拍网| 上原亚衣av一区二区三区| 久久视频在线播放| 国产高清视频一区三区| 亚洲女人被黑人巨大进入| 欧美一级淫片播放口| 亚洲精品视频久久| 日韩综合视频在线观看| 亚洲最新视频在线| 国产精品男人的天堂| 欧美在线视频观看免费网站| 欧美高清不卡在线| 国产精品羞羞答答| 久久久久久久久电影| 国产精品爽爽爽| 国产精品9999| 欧美韩日一区二区| 2018日韩中文字幕| 中文字幕亚洲欧美日韩高清| 久久久91精品国产一区不卡| 国产成人精品久久| 日本欧美一级片| 国产精品久久在线观看| 午夜精品久久久99热福利| 欧美激情三级免费| 亚洲成人激情图| 色一情一乱一区二区| 日韩精品在线免费| 91精品视频免费观看| 97av在线视频免费播放| 国产精品wwww| 亚洲精品一区二区三区婷婷月| www.欧美视频| 国产91在线播放九色快色| 九九视频直播综合网| 欧美日韩成人网| 国产丝袜精品视频| 夜夜嗨av一区二区三区四区| 亚洲成人激情视频| 色哟哟入口国产精品| 国产69久久精品成人看| 久久视频免费在线播放| 91在线观看免费高清完整版在线观看| 91精品国产综合久久香蕉的用户体验| 日韩av一区二区在线观看| 午夜精品久久久久久久久久久久| 91手机视频在线观看| 成人精品视频在线| 日韩成人在线网站| 国产性色av一区二区| 亚洲欧美日韩另类| 日韩av有码在线| 亚洲欧美日韩网| 欧美黄色三级网站| 日韩av最新在线| 国产裸体写真av一区二区| 9.1国产丝袜在线观看| 在线亚洲国产精品网| 久久亚洲国产精品成人av秋霞| 国产精品久久久久久久7电影| 欧美高清在线视频观看不卡| 精品免费在线视频| 国产精品视频一区国模私拍| 久久精品中文字幕电影| 欧美激情精品久久久久久久变态| 国产噜噜噜噜噜久久久久久久久| 精品综合久久久久久97| 伊人成人开心激情综合网| 亚洲成人网av| 大伊人狠狠躁夜夜躁av一区| 色在人av网站天堂精品| 欧美精品激情blacked18| 日韩一区二区三区xxxx| 日韩精品一二三四区| 日本精品久久久| 热99在线视频| 欧美国产日韩二区| 欧美大人香蕉在线| 91av视频在线免费观看| 欧美激情一级二级| 国产情人节一区| 成人国产精品久久久久久亚洲| 高清在线视频日韩欧美| 91a在线视频| 久久久91精品| 亚洲最大成人在线| 欧美第一淫aaasss性| 欧美乱妇高清无乱码| 亚洲影院色在线观看免费| 亚洲va电影大全| 九九热精品视频在线播放| 夜夜躁日日躁狠狠久久88av| 神马国产精品影院av| 久久精品电影一区二区| 亚洲国产一区二区三区在线观看| 亚洲国产高潮在线观看| 免费91在线视频| 久久久国产精彩视频美女艺术照福利| 欧美黄色性视频| 中日韩美女免费视频网址在线观看| 久久躁日日躁aaaaxxxx| 欧美精品福利视频| 久久99视频免费| 欧美极品少妇xxxxx| 亚洲精品福利在线观看| 国产精品18久久久久久首页狼| 久久精品一偷一偷国产| 亚洲精品欧美一区二区三区| 亚洲激情小视频| 国产精品久久久av| 日韩小视频网址| 高清欧美性猛交| 91久久久久久久久久久久久| 欧美日韩国产专区| 欧美日韩精品二区| 91在线观看免费高清| 日韩中文字幕不卡视频| 中文字幕亚洲字幕| 日韩成人在线播放| 欧美性视频在线| 久久久久久午夜| 欧美极品第一页| 国产精品成av人在线视午夜片| 不卡av在线播放| 欧美日韩第一页| 欧美国产日韩一区二区在线观看| 久久久免费观看| 中文字幕亚洲一区| 正在播放国产一区| 日韩av一区在线| 久久精品视频亚洲| 欧美日产国产成人免费图片| 欧美精品免费看| 国产精品久久久精品| 久久久久久91| 亚洲色图欧美制服丝袜另类第一页| 久久精品成人欧美大片古装| 精品国产一区二区在线| 欧美日韩精品国产| 久久久免费精品视频| 亚洲va欧美va国产综合剧情| 国产精品高精视频免费| 久久亚洲综合国产精品99麻豆精品福利| 欧美成人精品一区| 亚洲成人xxx| 亚洲视频777| 欧美在线激情视频| 亚洲а∨天堂久久精品喷水| 国产婷婷色综合av蜜臀av| 亚洲成年人在线播放| 91性高湖久久久久久久久_久久99| 国产一区二区日韩精品欧美精品| 亚洲一区二区免费在线| 亚洲免费视频在线观看| 欧美国产日韩精品| 欧美激情一二区| 岛国av一区二区| 欧美日韩人人澡狠狠躁视频| 欧美激情一区二区久久久| 久久精品视频va| 中文字幕免费精品一区高清| 亚洲新中文字幕| 91精品中文在线| 日韩成人网免费视频|