• python学习-Pillow图像处理


    Pillow中文文档:https://pillow-cn.readthedocs.io/zh_CN/latest/handbook/tutorial.html

    安装:pip install pillow

    操作图像:

    #!/usr/bin/env python3
    # _*_ coding utf-8 _*_
    
    __author__ = 'nxz'
    
    from PIL import Image, ImageFilter
    from time import sleep
    
    # 打开一个jpg图像文件
    im = Image.open('test.jpg')
    w, h = im.size  #
    print('图片的宽:%s,和高:%s' % (w, h))
    
    # 图片缩放
    im.thumbnail((w // 2, h // 2))
    w, h = im.size
    print(w, h)
    
    # 缩放之后的图片重新保存
    im.save('thumbnail.jpg', 'jpeg')
    
    # 其他功能:切片、旋转、滤镜、输出文字、调色板
    
    # 模糊效果
    im2 = im.filter(ImageFilter.BLUR)
    im2.save('blur.jpg','jpeg')

    截屏:

    from PIL import ImageGrab
    from time import sleep
    
    m = int(input("请输入想截屏多少次:"))
    n = 1
    while n <= m:
        sleep(0.02)
        im = ImageGrab.grab()
        local = (r'%s.jpg' % (n))
        im.save(local, 'jpeg')
        n = n + 1

    转换文件到JPEG:

    '''
    将指定路径下的图片后缀改为  “.jpg” 格式
    '''
    
    from PIL import Image
    import os, sys
    
    for infile in sys.argv[1:]:
        f, e = os.path.splitext(infile)
        outfile = f + '.jpg'
        if infile != outfile:
            try:
                Image.open(infile).save(outfile)
            except Exception as exc:
                print(exc)

    GIF动图:

    """
    GIf动图
    """
    
    from PIL import Image
    
    im = Image.open('test.jpg')
    images = []
    images.append(Image.open('blur.png'))
    images.append(Image.open('test.jpg'))
    im.save('gif.gif', save_all=True, append_image=images, loop=1, duration=1, comment=b'aaaabbb')

    几何变换:

    #简单的集合变换
    out = im.resize((128, 128))
    
    #旋转图像
    out = im.transpose(Image.FLIP_LEFT_RIGHT) #翻转
    out = im.transpose(Image.FLIP_TOP_BOTTOM)
    out = im.transpose(Image.ROTATE_90)
    out = im.transpose(Image.ROTATE_180) #旋转180°
    out = im.transpose(Image.ROTATE_270) #旋转270°
  • 相关阅读:
    scrapy的自动限速(AutoThrottle)扩展
    js可以控制文件上传的速度吗?
    用DataReader 分页与几种传统的分页方法的比较
    jdbc分页查询
    几种分页方式分析.
    mybatis下的分页,支持所有的数据库
    java 物理分页和逻辑分页
    IBatis的分页研究
    JDBC分页
    用Java实现异构数据库的高效通用分页查询功能
  • 原文地址:https://www.cnblogs.com/nxzblogs/p/10663431.html
Copyright © 2020-2023  润新知