1_pillow模块批量 读取图像、旋转、放缩、裁剪图片等操作(20190104

文章目录

  • 1、pillow的安装和导入
  • 2、pillow 读取、放缩、旋转、左右翻转、上下翻转图片操作
  • 3、pillow批量操作图片

pillow 模块是一个图像处理模块


1、pillow的安装和导入

  1. pillow 模块的安装
pip install pillow
或
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pilllow       # 可以提高下载速度
  1. pillow模块的导入

注意:

pillow模块导入的时候,并不是直接导入模块的名字
导入: from PIL import Image

2、pillow 读取、放缩、旋转、左右翻转、上下翻转图片操作

# -*- coding: UTF-8 -*-from PIL import Image# 1、读取图像
im = Image.open('images/2019-01-04 001456.jpg')# 2、显示图片
im.show()# 3、放缩图片: 原图像缩放为128x128
im_resized = im.resize((128, 128))
im_resized.show()# print(dir(im))
'''
['_Image__transformer', '__array_interface__', '__class__', '__copy__', '__del__', '__delattr__', '__dict__', '__dir__', '__doc__', '__enter__', '__eq__', '__exit__', '__format__', '__ge__','__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__','__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setstate__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__','_close_exclusive_fp_after_loading', '_copy', '_crop', '_dump', '_ensure_mutable', '_exclusive_fp','_expand', '_getexif', '_getmp', '_min_frame', '_new', '_open', '_repr_png_', '_seek_check','alpha_composite', 'app', 'applist', 'bits', 'category', 'close', 'convert', 'copy', 'crop', 'decoderconfig', 'decodermaxblock', 'draft', 'effect_spread', 'filename', 'filter', 'format', 'format_description', 'fp', 'frombytes', 'fromstring', 'get_format_mimetype', 'getbands', 'getbbox','getchannel', 'getcolors', 'getdata', 'getextrema', 'getim', 'getpalette', 'getpixel', 'getprojection', 'height', 'histogram', 'huffman_ac', 'huffman_dc', 'icclist', 'im', 'info', 'layer', 'layers', 'load','load_djpeg', 'load_end', 'load_prepare', 'load_read', 'mode', 'offset', 'palette', 'paste', 'point','putalpha', 'putdata', 'putpalette', 'putpixel', 'pyaccess', 'quantization', 'quantize', 'readonly', 'remap_palette', 'resize', 'rotate', 'save', 'seek', 'show', 'size', 'split', 'tell', 'thumbnail',           # 对图像的一些操作方法'tile', 'tobitmap', 'tobytes', 'toqimage', 'toqpixmap', 'tostring', 'transform', 'transpose', 'verify', 'width']
'''# 4、旋转图片: 指定旋转的角度
img_rotate = im.rotate(45)       # 旋转之后的图片的大小并不会发生变化,旋转的留白区域会用黑色填充
img_rotate.show()# 5、翻转图片:图像的翻转用 transpose()函数,直接在入参中指定变换方式即可,不仅支持上下、左右翻转;也支持逆时针90、180、270等角度的旋转,效果与rotate()相同。示例如下:out_lr = im.transpose(Image.FLIP_LEFT_RIGHT)   # 左右翻转
out_lr.show()
out_tb = im.transpose(Image.FLIP_TOP_BOTTOM)   # 上下翻转
out_tb.show()
# out = img.transpose(Image.ROTATE_90)    # 逆时针旋转九十度
# out = img.transpose(Image.ROTATE_180)
# out = img.transpose(Image.ROTATE_270)
# out.show()

3、pillow批量操作图片

没有什么好说的,就是对上面的操作从图片改成图片集,然后加入循环即可。

__Author__ = 'Shliang'# 批量旋转图片import os
from PIL import Imagedef rotate_imgs(input_imgs_dir, output_imgs_dir):images = os.listdir(input_imgs_dir)print(images)for i, img in enumerate(images):# print(type(i))print('======', img, '======')img_src = Image.open(input_imgs_dir + "/" + img)  # 忘记加了前面的文件夹的名字,所以提示找不到这个文件# img_src.show()singles = [15, 30, 45, 315, 330, 345]   # 旋转不同的角度for num, s in enumerate(singles):img_rotate = img_src.rotate(s)        # 其他的操作只要更改一下这里的函数就可以   s: 角度img_rotate.save(output_imgs_dir + "/" + '_' + str(num) + '_' + img)# img_rotate2 = img_src.rotate(30)# img_rotate2.save(output_imgs_dir + "/" + str((i)) + img)if __name__ == "__main__":input_imgs_dir = "aligned_dlib160"output_imgs_dir = "rotate_images"if not os.path.exists(output_imgs_dir):os.mkdir(output_imgs_dir)rotate_imgs(input_imgs_dir, output_imgs_dir)

后续更新,请持续关注




♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠

pillow模块批量 读取图像、旋转、放缩、裁剪图片等操作相关推荐

  1. 【MATLAB】图像批处理:批量读取图像—>批量处理—>批量写入文件夹

    创作时间:2022-03-14 目录: 1.图像批处理的应用 2.代码 3.演示结果 4.总结 正文: 1.图像批处理的应用 在做图像处理时候,首先是研究算法,在单张的图像上做分析,把算法搞明白. 接 ...

  2. 【MATLAB】批量读取图像raw文件(干货代码分享)

    [MATLAB]批量读取图像raw文件(干货代码分享) 1.先学个简单的,读取单张raw文件 matlab代码如下: %图像的基本信息: %512行,640列,像素深度16bit. col=640; ...

  3. matlab批量读取图像图片并批量处理图像(以伽马校正为例)以及批量保存图像

    文章目录 处理1张图片,获取4幅不同伽马校正图像 批量读取图片模板 批量处理多张图片,分别获取4幅伽马校正图像 参考 处理1张图片,获取4幅不同伽马校正图像 实验结果 实验代码 get_4_pictu ...

  4. 005 ps基础之图像旋转、裁剪

    对图片对象的经常操作,选中图片或者选中区,点击图像菜单,找到旋转功能,设置需要旋转的角度. 吸管工具  和  信息窗口  是对应的. 在裁剪时,有个透视功能,可以在透视裁剪时使用.如果图像不正,还可以 ...

  5. convert 旋转、裁剪图片

    在 Linux 中使用ImageMagick命令行操作图像文件_Linux小百科的博客-CSDN博客_imagemagick 命令 linux旋转图片,Linux下图像压缩.格式转换.缩放.旋转_知乎 ...

  6. 使用Python批量旋转,镜像图片

    前言 当我们进行大量图像处理时,经常需要旋转或镜像图像.但一张张处理图片费神又费力,有什么好的办法可以帮助我们快速搞定这个问题呢?这时候我们可以写个简单的python程序来搞定它!~ 在Python中 ...

  7. OpenCV(6):基于本地库的图像识别软件(批量读取图片)

    为了识别宠物的种类以及其他的扩展功能,我参考网上的识图软件原理,写了一个简化版的demo:从本地的库中匹配与所选图片最像的图片.(1.具体的其他代码可以参考其他博客的文件:2.所有文件路径改成自己的即 ...

  8. c++批量读取图片并处理

    #include <iostream> #include <string> using namespace std; void main() {string path = &q ...

  9. 自动批量裁剪图片的工具有哪些?这些软件你值得拥有

      小伙伴平时在处理图片的时候,发现只需要应用图片的某个区域,你们会怎么做呢?试想一下,如果将图片不需要的部分打码,可能会影响图片整体的美观.我的建议是,将图片需要的部分裁剪出来,这样也可以得到图片的 ...

最新文章

  1. 【转载】浏览器事件循环机制(event loop)
  2. mysql 主从单库单表同步 binlog-do-db replicate-do-db
  3. opencv阈值化(五)
  4. SAP CRM Fiori Launchpad 登录之后,看不见任何 tile 的解决办法
  5. 轻量级3d模型查看器_你该试试这样来管理你的3D资产了 Connecter
  6. java class文件常量池_JAVA程序员谈谈class文件结构中的常量池-class文件
  7. Springboot缓存实战笔记之概念篇
  8. android自动播放mp3,audio标签移动端(微信)实现自动播放
  9. 或为红米8A 卢伟冰确认将推出5000mAh新机
  10. android gridview滚动监听,检测GridView滚动速度 – Android
  11. java 守护进程 linux_Java使用appache deamon实现linux守护进程
  12. java小白会有那些工作_Java小白找工作与学习的第二天
  13. [转载] Python从字符串中删除字符
  14. JS正则表达式(RegExp)
  15. ai 道德_AI如何提升呼叫中心的道德水平?
  16. Python 文本滚动播放
  17. redis下载安装教程
  18. CPLEX仿真能力可行性分析
  19. c语言简单的图案设计,分形艺术图案设计
  20. Roguelike到底是啥?讲讲和Roguelike 相关知识(搬运)

热门文章

  1. VBA经典常用语句400句
  2. SSAS分区数据量过大处理参考 转- Recommended Practices with Partitions and Aggregations
  3. 最简MacOs10.8安装
  4. 苹果新的编程语言 Swift 语言进阶(十三)--类型检查与类型嵌套
  5. ECSHOP商品详情页”增加自定义TITLE
  6. 9A0-054 Exam 专业认证
  7. ASP.NET2.0_执行页面发送的强类型方法与弱类型方法
  8. Visual C# 编程操作Excel
  9. 关于python的一些好的书籍推荐-如果只能推荐3本关于python的书,你会推荐哪3本?...
  10. 有道python网课怎么样-如何用python“优雅的”调用有道翻译?