python把文件夹下面的图片旋转

深度学习的数据增强,数据预处理

把一个文件夹下面的图片进行旋转等操作,按照自己的需求来

python对图片进行水平、垂直、按某一角度翻转(旋转)

  1. 单独处理一张图片
import sys
import cv2
import os
from PIL import Image
from PIL import ImageDraw


os.getcwd()
im_path = os.path.join(os.getcwd(), '000057.jpg')
print(im_path)
img1 = Image.open(im_path)

# ================
out1 = img1.transpose(Image.FLIP_LEFT_RIGHT)  # 水平翻转
out2 = img1.transpose(Image.FLIP_TOP_BOTTOM)  # 垂直翻转
out3 = img1.rotate(45)                            # 45°顺时针翻转
# out4 = img.rotate(30)                           # 30°顺时针翻转

out1.show()
out2.show()
out3.show()
# out4.show()

out_path1 = os.path.join(os.getcwd(), '000057_1.jpg')
out_path2 = os.path.join(os.getcwd(), '000057_2.jpg')
out_path3 = os.path.join(os.getcwd(), '000057_3.jpg')

out1.save(out_path1)   # 水平翻转
out2.save(out_path2)   # 垂直翻转
out3.save(out_path3)   # 45°顺时针翻转

  1. 处理某文件夹中所有图片
#!/usr/bin/env python
#-*- coding: utf-8 -*-

#!/usr/bin/env python

import sys
import cv2
import os
from PIL import Image
from PIL import ImageDraw

os.getcwd()
path = os.path.join(os.getcwd(),'image')
print(path)
im_file = os.listdir(path)

for im_file_index_i in im_file:
    os.getcwd()
    path = os.path.join(os.getcwd(), 'image')
    # im_test = os.path.join(path, im_file_index_i)
    im_test = os.path.join(path, im_file_index_i)
    print(im_test)
    img1 = Image.open(im_test)

    # ====================================================
    out = Image.open(im_test)
    out1 = out.transpose(Image.FLIP_LEFT_RIGHT)  # 水平翻转
    out2 = out.transpose(Image.FLIP_TOP_BOTTOM)    #垂直翻转
    out3 = out.rotate(45)                            #45°顺时针翻转
    # out4 = img.rotate(30)                            #30°顺时针翻转
    #out1.show()
    #out2.show()
    #out3.show()
    # out4.show()
    name1 = '/home/.../image/' + im_file_index_i
    out1.save(name1)

    name2 = '/home/.../image/' + im_file_index_i
    out2.save(name2)

参考代码:

#!/usr/bin/env python

from PIL import Image
import os
import os.path

rootdir = r'C:\Users\wy\Desktop\kd'   #读取文件夹位置
for parent, dirnames, filenames in os.walk(rootdir):
for filename in filenames:
print('parentis :' + parent)
print('filenameis :' + filename)
currentPath = os.path.join(parent, filename)
print('thefulll name of the file is :' + currentPath)
im = Image.open(currentPath)
out1 = im.transpose(Image.FLIP_LEFT_RIGHT)      #水平翻转
out2 = im.transpose(Image.FLIP_TOP_BOTTOM)    #垂直翻转
out3 = im.rotate(45)                           #45°顺时针翻转

newname = r"C:\Users\wy\Desktop\kd_1" + '\\' + filename + "(1).jpg"

out.save(newname)

  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值