1_pillow模块批量读取图像、旋转、放缩、裁剪图片等操作(20190104文章目录1、pillow的安装和导入2、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 读取、放缩、旋转、左右翻转、上下翻转图片操作
from PIL import Image
im = Image.open('images/2019-01-04 001456.jpg')
im.show()
im_resized = im.resize((128, 128))
im_resized.show()
'''
['_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']
'''
img_rotate = im.rotate(45)
img_rotate.show()out_lr = im.transpose(Image.FLIP_LEFT_RIGHT)
out_lr.show()
out_tb = im.transpose(Image.FLIP_TOP_BOTTOM)
out_tb.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('======', img, '======')img_src = Image.open(input_imgs_dir + "/" + img) singles = [15, 30, 45, 315, 330, 345] for num, s in enumerate(singles):img_rotate = img_src.rotate(s) img_rotate.save(output_imgs_dir + "/" + '_' + str(num) + '_' + 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)
后续更新,请持续关注
♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠