Python代码修改图像尺寸
深度学习任务中,图像数据集的数量往往是非常大的,这时如果要统一修改所有图像的尺寸,需要用代码进行批处理,下面我们详细介绍图像尺寸修改流程。
主要使用 python 语言中的 pillow 库,安装代码如下:
pip install pillow
1、遍历根目录中的所有图像
from PIL import Image
import os
file_path = "The/path/of/your/datasets"
raw_files = os.walk(file_path) # os.walk() 是遍历这个路径下的所有文件夹及文件
for root, dirs, files in raw_files: # 把遍历的根目录、子目录以及文件名展现出来
for file in files: # 把单个文件名提取出来,方便一个个处理
picture_path = os.path.join(root, dirs, file) # 合并路径得到图像的绝对路径
pic_org = Image.open(picture_path) # 读取路径图片信息
遍历根目录下的所有文件,利用for循环,把图片一个个读取进来,为图像尺寸的 resize 操作提供保障。(此方法适用于很多数据的处理,重要!)
2、改变图像尺寸
pic_new = pic_org.resize((224, 224), Image.ANTIALIAS)
pic_new.save(pic_new_path) # 将修改后的图像存储到新的路径中
上部分已经把原始图像读取进来了,这时候直接在上步基础上,进行图像尺寸变化。
其中(224,224)表示修改后的图像尺寸大小,也可以根据自己的需要设定。
“Image.ANTIALIAS” 属于参数,表示抗锯齿,得到的是高质量图像。
3、完整代码:文章来源:https://www.toymoban.com/news/detail-527165.html
from PIL import Image
import os
file_path = r"E:\relate_code\frame_file" # 原始图像路径
raw_files = os.walk(file_path) # 遍历所有图像
width, height = 224, 224 # 修改后的图像尺寸大小
save_path = r"E:\relate_code\frame_resize" # 修改后图像存储的路径
if not os.path.exists(save_path): # 如果没有这个文件夹,就新建
os.makedirs(save_path)
for root, dirs, files in raw_files:
for file in files: # 展现各文件
picture_path = os.path.join(root, file) # 得到图像的绝对路径
pic_org = Image.open(picture_path) # 打开图像
pic_new = pic_org.resize((width, height), Image.ANTIALIAS) # 图像尺寸修改
_, sub_folder = os.path.split(root) # 得到子文件夹名字
pic_new_path = os.path.join(save_path, sub_folder)
if not os.path.exists(pic_new_path):
os.makedirs(pic_new_path) # 建立子文件夹
pic_new_path = os.path.join(pic_new_path, file) # 新图像存储绝对路径
pic_new.save(pic_new_path) # 存储文件
print("%s have been resized!" %pic_new_path)
日常学习记录,一起交流讨论吧!侵权联系~文章来源地址https://www.toymoban.com/news/detail-527165.html
到了这里,关于Python修改图像尺寸的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!