1. 程式人生 > >vs2013+opencv2.4.11環境:批量命名+處理圖片+規範儲存圖片名

vs2013+opencv2.4.11環境:批量命名+處理圖片+規範儲存圖片名

       記得挺早之前做過一個深度學習相關的小專案,裡面要用到大量的圖片,但是圖片的名字不規整,而且一張一張處理起來太浪費時間,於是做了好久才寫出來,但是看著很彆扭感覺,今天重新整理一下批量命名和處理圖片。

寫一個指令碼檔案:process.bat,放在你想要的重新命名的圖片的相同目錄下,檔案內容如下:

@echo off
set a=-1
setlocal EnableDelayedExpansion
for %%n in (*.jpg) do (
set /A a+=1
ren "%%n" "Train_!a!.jpg"
)

上述程式碼可以將同目錄下所有圖片規範命名,命名格式為“Train_0.jpg"\rightarrow

“Train_n.jpg"。

看一下效果,

處理前:

處理後(點選.bat檔案,記得先把360關掉,有毒):

處理過後的圖片可以用在第二步的批量處理圖片

話不多說,直接上程式碼:

#include <opencv2/opencv.hpp>
#include <iostream>
#include <vector>
#include <string>
#include <fstream> 

using namespace cv;
using namespace std;

int main()
{
    string fileName, destFiles;
    string pattern_jpg = "F:\\image\\*.jpg";                 //原始圖片所在路徑,可自行修改
    vector<String> image_files;    

    glob(pattern_jpg, image_files);
    /*
    void cv::glob ( String pattern, std::vector< String > & result, bool recursive = false)
    作用:將pattern路徑下所有檔名存入result中
    */
    if (image_files.size() == 0)                                    //判斷是否讀取到圖片
    {
        cout << "No image files[jpg]" << endl;
        return 0;
    }
     
    for (unsigned int i = 0; i < image_files.size(); ++i)    //image_file.size()代表檔案中總共的圖片個數
    {           
        //int 轉換為 string
        stringstream ss1;
        string str1;
        ss1 << i;
        ss1 >> str1;

        //為了方便,在“源.cpp”同級目錄下建立srcImage和grayImage,分別用於儲存原圖和灰度圖

        fileName = "srcImage/Train_" + str1 + ".jpg";        //根據圖片的名稱讀取批量命名好的圖片,也可以用絕對路徑
        destFiles = "grayImage/Test_" + str1 + ".jpg";       //處理後的檔案路徑及圖片名,圖片名為"Test_0.jpg"
        //cout << fileName << endl;


        /*
        在這裡對圖片進行操作
        */
        //下述操作為灰度圖轉換:
        Mat srcImage = imread(fileName, 1);
        Mat grayImage;
        //imshow(grayFile, grayImage);                                    //只會顯示資料夾中最後一張圖片,因為被覆蓋了
        cvtColor(srcImage, grayImage, CV_BGR2GRAY);      //opencv庫函式,轉換為灰度圖(原圖不能為灰度圖,否則會報錯)

        imwrite(destFiles, grayImage);                                     //將圖片寫入到grayImage目錄下
    }
    cout << "批量轉換成功" << endl;
    system("pause");
    return 0;
}

看一下效果,要將第一步批量重新命名後的圖片拷貝至srcImage資料夾下:

處理前:

批量處理後(灰度圖):

你也可以在其中對影象做不同的處理,不僅僅是灰度轉換!這樣就可以完成深度學習的前期處理

完美!

相關推薦

vs2013+opencv2.4.11環境批量命名+處理圖片+規範儲存片名

       記得挺早之前做過一個深度學習相關的小專案,裡面要用到大量的圖片,但是圖片的名字不規整,而且一張一張處理起來太浪費時間,於是做了好久才寫出來,但是看著很彆扭感覺,今天重新整理一下批量命名和處理圖片。 寫一個指令碼檔案:process.bat,放在你想要的重新

目標檢測程式開發(一)——OpenCV2.4.11環境配置

本文使用的環境 作業系統:windows_8.1_x64(本文對x86同樣適用) 整合開發環境:visual_studio_ultimate_2013 OpenCV版本:opencv-2.4.11 第一步,下載並安裝OpenCV 在OpenCV官網下載http://ope

VS2012+opencv2.4.11開發環境配置

相對路徑 應該 str AR lar tail user pen tps 主要參考https://blog.csdn.net/giantpoplar/article/details/47030205 https://blog.csdn.net/giantpoplar/art

win10下vs2013配置opencv2.4.11+測試程式碼

一、vs2013下載與安裝 下載並安裝vs2013 雙擊vs2013.4_ult_chs.iso檔案,雙擊vs_ultimate.exe進行安裝,安裝後直接啟動即可。 二、opencv2.4.11安裝 選擇Win pack,進入下載頁面... 2.下載完

一勞永逸配置opencv2.4.11+vs2013的步驟

1、設定環境變數: 2、vs2013中,新建一個win32控制檯程式,空專案, 比如32位的。點選檢視-其他視窗-屬性視窗 3、在debug|win32中右鍵新建屬性表,命名為:PropertySheet_OpenCV2411_DEBUG32, 雙擊開啟後按照普通配置方法配置。其中庫目錄要注意是

Opencv2.4.12安裝和VS2013+Opencv2.4.12開發環境配置

一、安裝opencv (1)首先安裝opencv,把解壓好的目錄放到一個目錄下,比如我放在了C:\OpenCV\下,也可以直接放在根目錄下; (2)配置系統的環境變數: 新增使用者變數opencv,目錄即你的目錄下的build的x64或x86下vc12(

Win7平臺下 opencv2.4.11+CMake+Qt5.8.0 開發環境配置

為了把程式碼往arm-linux移植,準備先用qt來重新編譯程式碼。結果用了整整一天半的時間,終於配置成功了。 其中的過程是一步一個坎,極為坎坷,看部落格看得要吐,部分環節投機取巧,所幸最後配置成功。 現在就把這一天半以來的配置歷程總結一下,也為大家提供借鑑。第一次此寫技術

win10搭建Visual Studio2013+OpenCV2.4.11+CMake3.9.2環境

通常情況下,我們需要使用opencv的庫函式時,只需將opencv的環境變數配置好就可以了,本人也在前面的文章中進行過介紹,部落格連結為http://blog.csdn.net/a2112233445566/article/details/38540389。但是如果我們想要檢視OpenCV原始碼、除錯Ope

VS2013+opencv2.4.9配置

ner 系統設置 opencv pad 動態庫 adding light hot demo VS2013+opencv2.4.9(10)配置[zz] - yifeier12 - 博客園 http://www.cnblogs.com/cuteshongshong/p/4057

QT5.60 + VS2013 + opencv2.4.13打包釋出

最近用QT做視訊處理介面,用VS2013和QT做了一個簡單的介面 打包的時候用windeployqt *.exe 發現打包後的程式有幾百兆, 偶然看到一位大佬的部落格通過找exe執行所需要的檔案來打包釋出 連結這裡寫連結內容 我寫的是64位release版,實際上所需的依賴檔案可以

64bit win7+VS2013+opencv2.4.9配置

我的配置是opencv2.4.9與VS2013,在win7 64bit下。 從opencv官網(http://opencv.org/downloads.html),下載安裝檔案,然後雙擊安裝包,類似於解壓,跟著步驟,就安裝到自己想要安裝的位置。 安裝完成後,就先設定下系統變數。 1、

VS2015+OpenCV2.4.13環境搭建詳細步驟及自帶示例編譯執行

前言 最近研究了一下opencv的kalman濾波演算法,想要執行裡面的示例,折騰了半天,在網上找了一些資料,終於搞定了,主要是配置vs的環境,這裡做個詳細的步驟總結。 軟體下載 首先,在opencv官網下載軟體。官網下載地址。 注意,4.0.0版本是近期才釋出的,是大

VS2010+OpenCV2.4.9環境配置

轉載於:http://blog.csdn.net/bestgonghuibin/article/details/38409613 要想學好OpenCV,首先當然要知道怎麼配置環境了。 本人系統軟體硬體環境如下: 以本人的配置環境為例,配置步驟如下。 第

VS2013+opencv2.4.9配置步驟詳解

1、         下載opencv2.4.9,然後解壓到一個位置 設定opencv SDK解壓目錄,點選Extract後解壓   我是習慣於解壓到這個位置的。 解壓過程如上圖

vs2013+opencv3.4 工程環境配置

VS2013+opencv3.4配置     由於為了編譯caffe網路,加上博主電腦空間緊張,於是卸掉了Visual Studio2017,安裝了它的祖宗Visual Studio2013。驚訝地發現opencv3.4的\opencv\build\x64路徑中居然沒有對應

VS2012+opencv2.4.11安裝步驟

轉載安裝步驟:點選開啟連結 一定要細心安裝,不然會出很多小問題,。。。。 提出問題:解決永久配置問題:直接在“檢視”的“屬性管理器”中配置專案的Microsoft.Cpp.Win32的“屬性”中的包含目錄,庫目錄及連結器的輸入即可。再次新建專案不需再配置。

win32 VS2013+opencv2.4.13安裝與配置->win 10 64位

一直習慣手寫記錄筆記,覺得在電腦上寫東西麻煩,但是手寫筆記有一個缺點:當查閱自己的筆記時,沒有圖片記錄過程,不太方便。看到別人寫的部落格對自己和別人都有很大幫助,就有了自己也寫點東西的想法,不足之處

ubuntu14.04 install opencv2.4.11--NCVPixelOperations file

/*    2  * Software License Agreement (BSD License)    3  *    4  *  Point Cloud Library (PCL) - www.pointclouds.org    5  *  Copyright (C

vs2013 opencv2.4.9 中出現的問題

用vs2010配置opencv2.4中,除錯程式時出現Unhandled exception at 0x7c812fd3 in opencvtest.exe: Microsoft C++ exception: cv::Exception at memory locatio

【OpenCV】VS2010與OpenCV2.4.11的配置

VS2010與OpenCV2.4.11的配置 小小的研究一下Opencv的影象處理,主要目的是對影象做銳化,高斯模糊等處理; 記錄一下自己安裝VS2010與Opencv的配置過程,方便以後檢視使用,開發環境的搭建: 1. 下載安裝Opencv,去官網http://ope