基於tensorflow 批量修改自己的圖片數據集 (附代碼)

       現在網上有很多關於Deeplearning的教程,不過這些教程的數據集都是已經做好的,並且格式名字什麼的都已經整理好了。特別是很多入門的教程都是Mnist 的數據集,這都已經非常的完善了。不過對於想自己製作數據集的小白來說,如何將自己收集的圖片批量轉換爲自己需要的格式呢,網上提到的並不多。作爲菜鳥一枚,現在把自己製作數據集的方法,和各位大牛分享下,如有謬誤,還請斧正。

       以一個Cat VS Dog 二分類爲例。首先,將自己從網上爬的圖片分別兩個文件夾,文件夾名稱爲分類對象(cat ,dog)。

然後再通過調用函數,統一修改圖片的名字,分別以   cat0.jpg ,cat1.jpg, cat2.jpg ,cat3.jpg ......  

dog.0,dog.1,dog.2,dog.3,dog.4......方式進行重命名。

       step 1.  剛開始的文件及圖片


train文件下的兩個子文件

           


剛爬下來cat文件下圖片的名稱(一般網上直接爬下來的圖片名字都不統一,會比較亂)


閒話不說,直接上代碼

import os  

def rename(file_dir,name):
    '''將網上爬下來的圖片重命名(更好的觀看)'''
    '''第一個參數是目標文件名 第二個參數是圖片的名稱'''
    i=0
    for file in os.listdir(file_dir):  
        '''獲取該路徑文件下的所有圖片'''    
        src = os.path.join(os.path.abspath(file_dir), file) 
        '''修改後圖片的存儲位置(目標文件夾+新的圖片的名稱)'''        
        dst = os.path.join(os.path.abspath(file_dir),  name+str(i) + '.jpg')
        os.rename(src, dst) #將圖片重新命名
        i=i+1     

file_dir='C:/Users/ASUS/Desktop/train'  #目標下的文件夾名稱
rename(file_dir+'/cat','cat')  #獲取目標文件夾下,子文件的的路徑 並進行重命名
rename(file_dir+'/dog','dog')


這是修改後的子文件夾下圖片的名稱


 修改圖片名稱的目的是製作自己的數據集的第一步,接下來,博主還會和大家分享,如何用修改好後的圖片製作tfrecord 數據集,tfrecord數據集可以更好地讀取數據,有效的利用電腦的GPU ,特別是數據量較大的時候,可以很好的提高數據處理的速度。    如有不足,還請各位大牛指正,還望共同進步! 大笑大笑  

     

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章