文件夹下一批,肉眼看起来顺序不是很强度图片,
python每次处理时顺序是否一致?
思路:
文件夹下的图片,按序号打上标签;
将打了标签图片重命名,比如统一以8位长度的数字命名;
看重命名的顺序和序号标签的额顺序是否一致;
1 按序号打上标签
文件夹下的图片,已经都打上了序号标签;
[python 图片批量打标签](python 图片批量打标签)
2 图片重命名
现在将图片重命名,比如统一以8位长度的数字命名;
看重命名的顺序和序号标签的额顺序是否一致;
batch_rename.py
import os
import cv2
import shutil
# convert_format # 图片格式转换标志,默认为jpg不转换;如果转换其他格式,这里设为True
def reNane(path_in,path_out,convert_format = False):
file_in = os.listdir(path_in) #返回文件夹包含的所有文件名
num_file_in = len(file_in) #获取文件数目
for i in range(num_file_in):
if convert_format: #重命名并转换格式
# 方法一:原文件直接改后缀 (快,简单粗暴,图片只改了后缀,并未转换格式,有时可能会出错)
#new_name = os.rename(path_in+"/"+file_in[i],path_in+"/"+'%08d.' % i + format)
#方法二:读取图片后,以新的格式重新保存 (慢,稳妥)
img = cv2.imread(os.path.join(path_in, file_in[i]))
cv2.imwrite(os.path.join(path_out, '%08d.' % i + format), img) # 统一命名为8位数字格式 ,设置对应的图片后缀名
else:
#原文件重命名
new_name = os.rename(path_in+"/"+file_in[i],path_in+"/"+'%08d.jpg' % i)
#复制到新路径下,并重命名
#shutil.copyfile(os.path.join(path_in, file_in[i]), os.path.join(path_out, '%08d.jpg' % i))
if __name__ == '__main__':
#待批量重命名的文件夹
path_in = "D:\Code\image3"
path_out = "D:\Code\image3"
format = "png" #重命名后的文件名后缀
reNane(path_in,path_out,convert_format = False)
完全一致