zoukankan      html  css  js  c++  java
  • PIL库学习及运用

    1. 了解PIL以及安装。

    1. PIL库主要有2个方面的功能:

    (1) 图像归档:对图像进行批处理、生产图像预览、图像格式转换等。

    (2) 图像处理:图像基本处理、像素处理、颜色处理等。

    安装PIL在cmd中输入

    pip install pillow 

     就可以在线安装PIL

    2对于PIL的简单运用。

    使用PIL来对图片进行处理

    ''' 轮廓效果 --- 素描 '''
    from PIL import Image
    from PIL import ImageFilter
    square = Image.open("F:BaiduNetdiskDownload\ball.jpg")
    square1 = square.filter(ImageFilter.CONTOUR)  #选择轮廓效果
    square1.save("F:BaiduNetdiskDownload\ball0.jpg")

    原图:

    效果图:

     3.图像增强

    ImageEnhance类图像增强与滤镜方法

    方法

    说明

    ImageEnhance.enhance(factor)

    对所选属性的数值增强factor倍

    ImageEnhance.Color(im)

    调整图像的颜色平衡

    ImageEnhance.Contrast(im)

    调整图像的对比度

    ImageEnhance.Brightness(im)

    调整图像的亮度

    ImageEnhance.Sharpness(im)

    调整图像的锐度

    ''' 亮度增强 --- 曝光 '''
    from PIL import Image
    from PIL import ImageEnhance
    gz = Image.open("F:BaiduNetdiskDownload\ball.jpg")
    gz1 = ImageEnhance.Brightness(gz)     #选择亮度
    gz1.enhance(2).save("F:BaiduNetdiskDownload\ball1.jpg")    #将亮度增强2倍后保存

    原图:

    效果图:

    4,制作GIF

    要求我们安装imageio库,利用pip即可安装。

    利用imageio来构建函数,并拼接图片来制造gif

    import imageio # 导入imageio库   
    def creat_gif(image_list, gif_name, duration = 2):  
        """ 
        生成gif文件,原始图像仅仅支持png格式; 
        gif_name : 字符串,所生成的gif文件名,带.gif文件名后缀; 
        path : 输入图像的路径; 
        duration : gif图像时间间隔,这里默认设置为1s,当然你喜欢可以设置其他; 
        """  
        # 创建一个空列表,用来存源图像  
        frames = []   
           # 利用方法append把图片挨个存进列表    
        for image_name in image_list:  
            frames.append(imageio.imread(image_name))   
        # 保存为gif格式的图  
        imageio.mimsave(gif_name, frames, 'GIF', duration = duration)   
        return  
     def main():  
        # 自己收集的图片,当然这里也可以爬取网上的图像,加载进来  
        image_list = ['1.png', '2.png', '3.png', '4.png'] # 源图像,可以随便选取哈  
        gif_name = 'new.gif'  
        duration = 1.5   
        creat_gif(image_list, gif_name)  
    if __name__ == "__main__":  
        main()  

  • 相关阅读:
    java面试笔记
    ASP.NET MVC 第三章 异步提交数据
    ASP.NET MVC 第二章 路由和修改路由
    ASP.NET MVC 第一章 我们的第一个MVC例子
    本团队承接软件开发项目
    论面向服务的架构及其应用
    软件架构设计阅读笔记3
    学习15
    软件架构设计阅读笔记2
    学习13
  • 原文地址:https://www.cnblogs.com/z2273533704/p/10687032.html
Copyright © 2011-2022 走看看