问题描述:在使用深度学习YOLO或者Faster RCNN训练数据时,训练图片的尺寸(一般为640×640)一般比我们获取到的图片尺寸较小(原图都比较大),为了提高训练速度,不能使用原图训练,所以需要降低图片的分辨率。
代码如下所示
from PIL import Image
#将图片尺寸统一 宽度是480
import os
# path = "E://数据集/原图/番茄"#读取的文件夹
# savepath = "E://数据集/原图/bb/"#保存的文件夹
path = "F://Data_set/Picking_point/small1/jpg/"#读取的文件夹
savepath = "F://Data_set/Picking_point/small1/jpg/"#保存的文件夹
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] #文件扩展名
fileall = Olddir+filename+filetype
#print(Olddir)
# print(fileall)
im = Image.open(Olddir)
(x, y) = im.size # read image size
x_s = 640 # define standard width
y_s = y * x_s // x # calc height based on standard width
out = im.resize((x_s, y_s), Image.ANTIALIAS) # resize image with high-quality
savepaths = savepath+filename+filetype
#print(savepaths)
out.save(savepaths)
注意:这个分辨率降低前后路径是在一个路径即可,分辨率降低后的图片覆盖掉了分辨率降低前的图片。可能需要装一些库。