python批量图像上下翻转和旋转90 180 270扩充数据

本文介绍了如何使用Python的PIL库中的Image类和rotate()函数分别进行图像的180度旋转,并展示了通过transpose()方法实现的其他翻转和旋转操作。同时,详细展示了代码示例和txt标签文件的创建过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文介绍的图像的旋转,使用PIL的Image类的接口函数transpose()完成,直接在入参中指定变换方式即可,不仅支持上下、左右翻转;也支持逆时针90、180、270等角度的旋转。

# -*- coding: utf-8 -*-

from PIL import Image
import os

file_dir = 'train_img/png_da_all/'            # 原始图片路径
rotate_180 = 'train_img/rotate_180/'     # 保存路径
    
for img_name in os.listdir(file_dir):
    img_path = file_dir + img_name    #  批量读取图片
    # print(img_path)
    img = Image.open(img_path)
    LEFT_RIGHT = im.transpose(Image.FLIP_LEFT_RIGHT)                    # 左右翻转
    TOP_BOTTOM = im.transpose(Image.FLIP_TOP_BOTTOM)            # 上下翻转
    rotated_90 = img.transpose(Image.ROTATE_90)        # 旋转90度
    rotated_180 = img.transpose(Image.ROTATE_180)    # 旋转180度
    rotated_270 = img.transpose(Image.ROTATE_270)    # 旋转270度
    rotated_180.save(rotate_180 + '180_' + img_name)  # 保存旋转后的图片
    f = open('train_img/180.txt', 'a')                                       
    f.write('180_' + img_name + ' ' + '180' + '\n')        # 写入txt标签文件:imagename + 空格 + 角度
print('finish')

2、图像的旋转使用函数rotate(),在入参中直接指定按逆时针旋转的角度即可,示例如下:

#-*- coding: UTF-8 -*-
from PIL import Image
import os

file_dir = 'train_img/png_da_all/'            # 原始图片路径
rotate_45 = 'train_img/rotate_45/'     # 保存路径

for img_name in os.listdir(file_dir):
    img_path = file_dir + img_name     批量读取图片
    # print(img_path)
    img = Image.open(img_path)
    im_rotate = img.rotate(45)           # 指定逆时针旋转的角度
    im_rotate.save(rotate_45 + '45_' + img_name)  # 保存旋转后的图片
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值