python_opencv ——图片预处里(二)
参考链接:https://blog.csdn.net/qq_35328403/article/details/105352525
1、修改图片格式,并重命名图片名称
1 import os 2 3 4 class BatchRename(): #定义一个重命名的类 5 def __init__(self): 6 self.path = 'classification_pic/fatigue driving' 7 8 def rename(self): 9 filelist = os.listdir(self.path) 10 total_num = len(filelist) 11 i = 0 12 # for item in filelist: 13 # if item.endswith('.bmp'): #将bmp格式的图片改为jpg 14 # src = os.path.join(os.path.abspath(self.path), item) 15 # dst = os.path.join(os.path.abspath(self.path), 'Judy' + str(i) + '.jpg') #重新命名并改格式 16 # try: 17 # os.rename(src, dst) 18 # print('converting %s to %s ...' % (src, dst)) 19 # i = i + 1 20 # except: 21 # continue 22 23 for item in filelist: 24 if item.endswith('.jpg'): 25 src = os.path.join(os.path.abspath(self.path), item) 26 dst = os.path.join(os.path.abspath(self.path), 'pic_' + str(i) + '.jpg') ##重新命名 27 try: 28 os.rename(src, dst) 29 print('converting %s to %s ...' % (src, dst)) 30 i = i + 1 31 except: 32 continue 33 34 if __name__ == '__main__': 35 demo = BatchRename() 36 demo.rename()
2、统一图片大小
1 from PIL import Image 2 import os.path 3 import glob 4 5 def convertSize(jpgfile, outdir, width=416, height=416): #图片的大小 416*416 6 img=Image.open(jpgfile) 7 try: 8 new_img = img.resize((width, height), Image.BILINEAR) 9 if new_img.mode == 'P': 10 new_img = new_img.convert("RGB") 11 if new_img.mode == 'RGBA': 12 new_img = new_img.convert("RGB") 13 new_img.save(os.path.join(outdir, os.path.basename(jpgfile))) 14 except Exception as e: 15 print(e) 16 17 for jpgfile in glob.glob("frame_output/23/*.jpg"): #修改该文件夹下的jpg图片 18 convertSize(jpgfile,"Pic_SameSize/23") #另存为的文件夹路径