python 图片批量resize

最近做了场景分类的一个45分类竞赛,分类结果单模型准确率目前达到了87%,但是要得到较好的名次,至少要达到92的单模型准确率,在修改训练参数无果的情况下,采用了外部数据集

外部数据集为256*256的图像,而大赛提供的数据集为512*512的图像,在输入图片尺寸不一致时会发生错误,为了批量resize处理图片,参考了了别人的代码,修改后的代码如下:

#coding=utf-8
import os
import cv2
DATADIR=raw_input("")
IMG_SIZE=512
path=os.path.join(DATADIR) 
img_list=os.listdir(path)
ind=0

if not os.path.exist("path_to_root"):
    os.makedirs("path_to_root"+DATADIR)
for i in img_list:
    img_array=cv2.imread(os.path.join(path,i),cv2.IMREAD_COLOR)
    new_array=cv2.resize(img_array,(IMG_SIZE,IMG_SIZE))
    img_name=str(ind)+'.jpg'
    save_path='path_to _root'+DATADIR+"/"+DATADIR+str(ind)+'.jpg'
    ind=ind+1
    cv2.imwrite(save_path,new_array)
 

要使用PythonOpenCV批量调整图片大小,你可以按照以下步骤进行操作: ```python import cv2 import os def batch_resize_images(input_dir, output_dir, size): # 确保输出目录存在 if not os.path.exists(output_dir): os.makedirs(output_dir) # 遍历输入目录中的所有文件 for filename in os.listdir(input_dir): # 获取文件路径 input_path = os.path.join(input_dir, filename) # 检查文件是否为图像文件 if os.path.isfile(input_path) and filename.lower().endswith(('.jpg', '.jpeg', '.png')): # 读取图像 image = cv2.imread(input_path) # 调整图像大小 resized_image = cv2.resize(image, size) # 构造输出文件路径 output_path = os.path.join(output_dir, filename) # 保存调整后的图像 cv2.imwrite(output_path, resized_image) # 调用函数进行批量调整图片大小 input_dir = "input_folder" # 输入目录,包含要调整大小的图片文件 output_dir = "output_folder" # 输出目录,保存调整后的图片文件 size = (500, 500) # 要调整的目标尺寸,例如 (width, height) batch_resize_images(input_dir, output_dir, size) ``` 请将代码中的`input_folder`替换为包含要调整大小的图片文件的实际输入目录,将`output_folder`替换为你希望保存调整后图片的输出目录,将`size`替换为你想要调整的目标尺寸。这段代码将遍历输入目录中的所有图片文件(以.jpg、.jpeg或.png结尾),将它们调整为指定的尺寸,并保存到输出目录中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值