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

本文介绍的图像的旋转,使用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)  # 保存旋转后的图片

猜你喜欢

转载自blog.csdn.net/qq_36756866/article/details/116450650