pillow模块批量 读取图像、旋转、放缩、裁剪图片等操作
1_pillow模块批量 读取图像、旋转、放缩、裁剪图片等操作(20190104
文章目录
- 1、pillow的安装和导入
- 2、pillow 读取、放缩、旋转、左右翻转、上下翻转图片操作
- 3、pillow批量操作图片
pillow 模块是一个图像处理模块
1、pillow的安装和导入
- pillow 模块的安装
pip install pillow
或
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pilllow # 可以提高下载速度
- 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模块批量 读取图像、旋转、放缩、裁剪图片等操作相关推荐
- 【MATLAB】图像批处理:批量读取图像—>批量处理—>批量写入文件夹
创作时间:2022-03-14 目录: 1.图像批处理的应用 2.代码 3.演示结果 4.总结 正文: 1.图像批处理的应用 在做图像处理时候,首先是研究算法,在单张的图像上做分析,把算法搞明白. 接 ...
- 【MATLAB】批量读取图像raw文件(干货代码分享)
[MATLAB]批量读取图像raw文件(干货代码分享) 1.先学个简单的,读取单张raw文件 matlab代码如下: %图像的基本信息: %512行,640列,像素深度16bit. col=640; ...
- matlab批量读取图像图片并批量处理图像(以伽马校正为例)以及批量保存图像
文章目录 处理1张图片,获取4幅不同伽马校正图像 批量读取图片模板 批量处理多张图片,分别获取4幅伽马校正图像 参考 处理1张图片,获取4幅不同伽马校正图像 实验结果 实验代码 get_4_pictu ...
- 005 ps基础之图像旋转、裁剪
对图片对象的经常操作,选中图片或者选中区,点击图像菜单,找到旋转功能,设置需要旋转的角度. 吸管工具 和 信息窗口 是对应的. 在裁剪时,有个透视功能,可以在透视裁剪时使用.如果图像不正,还可以 ...
- convert 旋转、裁剪图片
在 Linux 中使用ImageMagick命令行操作图像文件_Linux小百科的博客-CSDN博客_imagemagick 命令 linux旋转图片,Linux下图像压缩.格式转换.缩放.旋转_知乎 ...
- 使用Python批量旋转,镜像图片
前言 当我们进行大量图像处理时,经常需要旋转或镜像图像.但一张张处理图片费神又费力,有什么好的办法可以帮助我们快速搞定这个问题呢?这时候我们可以写个简单的python程序来搞定它!~ 在Python中 ...
- OpenCV(6):基于本地库的图像识别软件(批量读取图片)
为了识别宠物的种类以及其他的扩展功能,我参考网上的识图软件原理,写了一个简化版的demo:从本地的库中匹配与所选图片最像的图片.(1.具体的其他代码可以参考其他博客的文件:2.所有文件路径改成自己的即 ...
- c++批量读取图片并处理
#include <iostream> #include <string> using namespace std; void main() {string path = &q ...
- 自动批量裁剪图片的工具有哪些?这些软件你值得拥有
小伙伴平时在处理图片的时候,发现只需要应用图片的某个区域,你们会怎么做呢?试想一下,如果将图片不需要的部分打码,可能会影响图片整体的美观.我的建议是,将图片需要的部分裁剪出来,这样也可以得到图片的 ...
最新文章
- 【转载】浏览器事件循环机制(event loop)
- mysql 主从单库单表同步 binlog-do-db replicate-do-db
- opencv阈值化(五)
- SAP CRM Fiori Launchpad 登录之后,看不见任何 tile 的解决办法
- 轻量级3d模型查看器_你该试试这样来管理你的3D资产了 Connecter
- java class文件常量池_JAVA程序员谈谈class文件结构中的常量池-class文件
- Springboot缓存实战笔记之概念篇
- android自动播放mp3,audio标签移动端(微信)实现自动播放
- 或为红米8A 卢伟冰确认将推出5000mAh新机
- android gridview滚动监听,检测GridView滚动速度 – Android
- java 守护进程 linux_Java使用appache deamon实现linux守护进程
- java小白会有那些工作_Java小白找工作与学习的第二天
- [转载] Python从字符串中删除字符
- JS正则表达式(RegExp)
- ai 道德_AI如何提升呼叫中心的道德水平?
- Python 文本滚动播放
- redis下载安装教程
- CPLEX仿真能力可行性分析
- c语言简单的图案设计,分形艺术图案设计
- Roguelike到底是啥?讲讲和Roguelike 相关知识(搬运)
热门文章
- VBA经典常用语句400句
- SSAS分区数据量过大处理参考 转- Recommended Practices with Partitions and Aggregations
- 最简MacOs10.8安装
- 苹果新的编程语言 Swift 语言进阶(十三)--类型检查与类型嵌套
- ECSHOP商品详情页”增加自定义TITLE
- 9A0-054 Exam 专业认证
- ASP.NET2.0_执行页面发送的强类型方法与弱类型方法
- Visual C# 编程操作Excel
- 关于python的一些好的书籍推荐-如果只能推荐3本关于python的书,你会推荐哪3本?...
- 有道python网课怎么样-如何用python“优雅的”调用有道翻译?