1. ホーム
  2. Ubuntu

フォルダ内の全画像を一括でリネーム(python実装)

2022-02-21 17:03:10

フォルダ内の画像をシリアル番号(0000~9999など)で自動的にソートします。

このコードでは、以下を実装しています。

import os
path = "/home/aa/qxq/project/fruits/database/fruitsVegtables/tomato"
filelist = os.listdir(path)
count=0
for file in filelist:
    print(file)
for file in filelist:   
    Olddir=os.path.join(path,file)  
    if os.path.isdir(Olddir):  
        continue
    filename=os.path.splitext(file)[0]   
    filetype=os.path.splitext(file)[1]  
    Newdir=os.path.join(path,str(count).zfill(4)+filetype)  
    os.rename(Olddir,Newdir)

    count+=1



ubuntu直下にrename.pyを新規作成し、上記のコードをコピーして保存し、rename.pyディレクトリでコマンドを実行・入力します。

Python rename.py

レンダリングは以下のようになります。

#coding:utf-8
import cv2
import os
#threshold segmentation using the osu algorithm, which involves using opencv to read and save files, see 
root_path="/home/image/med_project/practice/ours"
# dir=root_path+"ours"+"/"
print("hello")
for root,dir, files in os.walk(root_path):
    print("dir:",dir)
    print("files:",files)
    print("root:",root)
 
    for file in files:
        # root_path + "images" + "/" + str(file)
        print("root_path+str(file): ",root_path+"/"+str(file))
        img1 = cv2.imread(root_path+"/"+str(file))
        gray = cv2.cvtColor(img1, cv2.COLOR_BGR2GRAY)
        ret1, th1 = cv2.threshold(gray, 0, 255, cv2.THRESH_OTSU)
        cv2.imwrite("/home/image/med_project/practice/"+str(file),th1)