zoukankan      html  css  js  c++  java
  • 几种翻转类型批量处理图片

     1 from PIL import Image
     2 import os
     3 import os.path
     4 
     5 #rootdir = r'D:anaconda_workdatafz'  # 指明被遍历的文件夹
     6 rootdir = r'D:anaconda_workdatafz'
     7  
     8 for parent, dirnames, filenames in os.walk(rootdir):#遍历图片
     9     for filename in filenames:
    10         print('parent is :' + parent)
    11         print('filename is :' + filename)
    12         currentPath = os.path.join(parent, filename)
    13         print('the fulll name of the file is :' + currentPath)
    14  
    15         im = Image.open(currentPath)
    16         #Image.FLIP_LEFT_RIGHT,表示将图像左右翻转
    17         out = im.transpose(Image.FLIP_LEFT_RIGHT)
    18         
    19      # Image.FLIP_TOP_BOTTOM,表示将图像上下翻转
    20         #out = im.transpose(Image.FLIP_TOP_BOTTOM)
    21         
    22      # Image.ROTATE_90,表示将图像逆时针旋转90°
    23         #out = im.transpose(Image.ROTATE_90)
    24         
    25     #Image.ROTATE_180,表示将图像逆时针旋转180°
    26          #out = im.transpose(Image.ROTATE_180)
    27         
    28     # Image.ROTATE_270,表示将图像逆时针旋转270°
    29          #out = im.transpose(Image.ROTATE_270)
    30         
    31     # Image.TRANSPOSE,表示将图像进行转置(相当于顺时针旋转90°)
    32          #out = im.transpose(Image.TRANSPOSE)
    33         
    34     # Image.TRANSVERSE,表示将图像进行转置,再水平翻转
    35          #out = im.transpose(Image.TRANSVERSE)
    36         
    37         #新建文件夹保存翻转后图片
    38         newname=r"D:anaconda_workas"+'\'+filename
    39         out.save(newname)#保存结束

    翻转之前的图片:                                                                                                                                                                  

     翻转之后图片:

    总结:

    第一次写,望多多鼓励,所参考文章在下面例举出,如果不让转载会尽快删除,本人研究方向医学图像处理(研一),希望多多交流。

    参考文章:

    1.https://blog.csdn.net/qq_40801168/article/details/83628151

    2.http://www.cnblogs.com/lyrichu/p/9124504.html

    作者:舟华520

    出处:https://www.cnblogs.com/xfzh193/

    本文以学习,分享,研究交流为主,欢迎转载,请标明作者出处!

  • 相关阅读:
    python note 19 异常处理
    python note 18 序列化模块
    python note 17 random、time、sys、os模块
    python note 16 re模块的使用
    python note 15 正则表达式
    python note 13 内置函数
    python note 12 生成器、推导式
    C++ int型负数除法取余问题
    Leetcode162. 寻找峰值
    Leetcode450. 删除二叉搜索树中的节点
  • 原文地址:https://www.cnblogs.com/xfzh193/p/10845873.html
Copyright © 2011-2022 走看看