zoukankan      html  css  js  c++  java
  • Python中PIL的简单操作

    github博客传送门
    csdn博客传送门
    首先 PIL 的安装
    如果经过多方面尝试 还是安装不好 PIL 那么建议使用 Anaconda3 安装 PIL

    基本的操作

    from PIL import Image            # 导入 PIL 中的 Image 模块
    
    img = Image.open('1.jpeg')       # 打开一张图片('1.jpeg'将图片放在和你py文件同一目录下即可 )
    # img.show()                     # 展示一张图片
    w, h = img.size                  # 将图片的长宽 赋给 w h  # 读取图片的长宽
    print(w, h)                      # 打印 长 宽
    img.thumbnail((w // 2, h // 2))  # 改变图片的大小
    img.show()                       # 展示一张图片
    img.save('test.jpg')             # 保存一张图片
    img2 = img.rotate(90)            # 图片旋转 90 度
    img2.show()                      # 展示一张图片
    

    滤镜

    from PIL import Image,ImageFilter         # 导入图片包 和 滤镜包
    
    img = Image.open('image/2.jpeg')          # 打开一张图片
    img2 = img.filter(ImageFilter.BLUR)       # 模糊处理
    img2.show()
    img3 = img.filter(ImageFilter.DETAIL)     # 增强
    img3.show()
    img4 = img.filter(ImageFilter.EMBOSS)     # 浮雕
    img4.show()
    img5 = img.filter(ImageFilter.CONTOUR)    # 轮廓
    img5.show()
    

    灰度处理

    from PIL import Image
    
    img = Image.open('image/3.jpeg')        # 打开一张图片
    img = img.convert("L")                  # 将图片转换为单通道的 灰度图
    img.show()                              # 显示一张图片
    bands = img.getbands()                  # 返回通道值 ('R', 'G', 'B')or('L')
    print(bands)                            # 打印通道情况
    pixes = img.getpixel((30, 30))          # 获取图标位置上的像素值
    print(pixes)                            # 打印像素值
    pr = img.histogram()                    # 返回图片的像素直方图
    print(pr)                               # 打印像素直方图
    image2 = Image.open('image/4.jpeg')     # 打开一张图片
    image2.paste(img, (100, 100))           # 加水印 将 img 印在 image2 上
    image2.show()                           # 显示加水印之后的图片
    
  • 相关阅读:
    re | [SWPU2019]ReverseMe
    wp | re | 2020“巅峰极客”网络安全技能挑战赛
    re | [CFI-CTF 2018]IntroToPE
    re | [FlareOn1]Bob Doge
    re | [ACTF新生赛2020]SoulLike
    re | [GKCTF2020]Chelly's identity
    ospf配置与ofps选举DR/BDR
    静态路由的配置
    配置三层交换机实现vlan间通信
    hybrid接口
  • 原文地址:https://www.cnblogs.com/Mrzhang3389/p/9639942.html
Copyright © 2011-2022 走看看