如何批量修改圖片名稱(win下)


深度學習目標檢測任務中常常需要大量的圖片,這些圖片一般來自網絡爬蟲或是自行批量下載,但下載下的圖片常常在保存時被命名為長段英文數字混寫,因此規律化命名下載的圖片數據名稱就顯得尤為重要了,下面我演示在本人電腦上如何批量修改圖片的操作。

1,提取圖片原文件名至Excel表中

首先,crtl+a全選所有圖片,並按住shift鍵,點擊復制文件地址,再打開新建的excel表,點擊A1單元格粘貼,再利用查找與替換功能去除復制的圖片地址。相關操作如下:

2,設置想要修改的圖片名稱

這里為了簡便,設置圖片由1開始逐個加1編號,並於第二列中將改后的圖片名稱設置完畢,相關操作如下

3,在C列中輸入更名公式

選中C列,在編輯欄中輸入公式

\[="ren "&A1&" "&B1&"" \]

之后按回車鍵,並用鼠標移動到C1單元格右下角出現+字往下填充。

公式的含義是將A1列中名字重命名為B列名字

4,新建一個批處理文檔

在與圖片文件夾相同的目錄下新建一個txt文檔,復制Excel表格中的C列公式全列到txt文檔中粘貼,保存並更改txt文檔的后綴名為.bat,在保存后關閉並雙擊執行.bat文件,之后圖片應被批量更改了

注:若是新舊名稱中包含空格字符會導致改名失敗,若是需要更改包含空格字符的文件,需要加入雙引號,如:ren "oldname.c" "newname.c"。

對於有空格的特殊情況,如下圖操作,在第3步中加入在C列的第一個單元格打入英文的引號",在D列1格輸入以下公式即可:

="ren "&C1&A1&C1&" "&C1&B1&C1

5,利用python更改文件名字

代碼如下,更改圖片存放路徑再用python運行即可,本人python版本3.7:

# -*- coding:utf8 -*-
 
import os
 
class BatchRename():
    '''
    批量重命名文件夾中的圖片文件
    '''
    def __init__(self):
        #我的圖片文件夾路徑horse
        self.path = 'C:\\Users\\username\\Desktop\\ImageData\\Pascal_VOC\\JPEGImages'
 
    def rename(self):
        filelist = os.listdir(self.path)
        total_num = len(filelist)
        i = 1
        n = 6
        for item in filelist:
            if item.endswith('.jpg'):
                n = 6 - len(str(i))
                src = os.path.join(os.path.abspath(self.path), item)
                dst = os.path.join(os.path.abspath(self.path), str(0)*n + str(i) + '.jpg')
                try:
                    os.rename(src, dst)
                    print('converting %s to %s ...' % (src, dst))
                    i = i + 1
		    
                except:
                    continue
        print('total %d to rename & converted %d jpgs' % (total_num, i))
 
if __name__ == '__main__':
    demo = BatchRename()
    demo.rename()

相關參考博客:

http://www.360doc.com/content/18/1121/13/32695326_796292989.shtml

https://blog.csdn.net/weixin_44553152/article/details/108056588

https://jingyan.baidu.com/article/4f7d571203feca1a2019270d.html

https://blog.csdn.net/gaohuazhao/article/details/60324715


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM