python pillow库的基础使用教程

 更新时间:2021年01月13日 10:30:42   作者:changhao  
这篇文章主要介绍了python pillow库的基础使用教程,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下

知识点

  • 图像模块 (Image.Image)

Image模块的功能
Image模块的方法

  • ImageChops模块
  • ImageColor模块

基础使用

图像模块 Image.Image

加载图像对象,旋转90度并显示

from PIL import Image
#显示图像
im = Image.open('background.jpg')
im.show()

# 转换图像90度
im.rotate(90).show()

创建缩略图 128x128

from PIL import Image
import glob, os
size = 128, 128
for infile in glob.glob('D:\code\gitee\pydata\python3-example\pillow_demo\*.jpg'):
  print(infile)
  filename = os.path.split(infile)[-1]
  im = Image.open(infile)
  im.thumbnail(size, Image.ANTIALIAS)
  im.save("D:\code\gitee\pydata\python3-example\pillow_demo\\" + filename)

创建一个新图像, 分辨率为1920*1080

from PIL import Image
im = Image.new('RGB', (1920, 1080), (255, 0, 0))
im1 = Image.new('RGB', (1920, 1080), 'red')
im2 = Image.new('RGB', (1920, 1080), '#FF0000')
im2.show()

将图像转换为PNG

im = Image.open('background.jpg', 'r')
im.save('background.png')
im.show()
im_png = Image.open('background.png', 'r')
print(im_png.format)

ImageChops模块

ImageChops模块包含多个算术图像的操作,称为通道操作,它们可以实现,特殊效果,图像合成,算法绘画等

它的功能大多数通道操作都是采用一个或两个图像参数比较来返回一个新图像,下面只列出一些常用的方法:

IC.lighter(image1,image2):逐个像素地比较两个图像,并返回包含较亮值的新图像

from PIL import Image
from PIL import ImageChops
im1=Image.open('1.jpg')
im2=Image.open('2.jpg')

IC_image=ImageChops.lighter(im1,im2)
IC_image.show()

ImageColor模块

ImageColor模块用来实现RGB颜色表转换,它支持是颜色格式包括:

  • 十六进制颜色说明符,例如,“#ff0000”指定纯红色
  • RGB函数,以“rgb(红色,绿色,蓝色)”给出,其中颜色值是0到255范围内的整数,如,“rgb(255,0,0)”和“rgb(100%,0%,0%)
  • 常见的HTML颜色名称,例如,“red”指定纯红色

getrgb(color):将颜色字符串转换为RGB元组

from PIL import ImageColor
IC_image=ImageColor.getrgb('red')
print(IC_image)

#
(255, 0, 0)

以上就是python pillow库的基础使用教程的详细内容,更多关于python pillow库使用的资料请关注脚本之家其它相关文章!

相关文章

  • python实现简易版计算器

    python实现简易版计算器

    这篇文章主要为大家详细介绍了python实现简易版计算器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • 简介Python的collections模块中defaultdict类型的用法

    简介Python的collections模块中defaultdict类型的用法

    这里我们来简介Python的collections模块中defaultdict类型的用法,与内置的字典类最大的不同在于初始化上,一起来看一下:
    2016-07-07
  • Python使用multiprocessing实现一个最简单的分布式作业调度系统

    Python使用multiprocessing实现一个最简单的分布式作业调度系统

    mutilprocess像线程一样管理进程,这个是mutilprocess的核心,他与threading很是相像,对多核CPU的利用率会比threading好的多,通过本文给大家介绍Python使用multiprocessing实现一个最简单的分布式作业调度系统,需要的朋友参考下
    2016-03-03
  • 基于Pycharm加载多个项目过程图解

    基于Pycharm加载多个项目过程图解

    这篇文章主要介绍了基于Pycharm加载多个项目过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • PyCharm-错误-找不到指定文件python.exe的解决方法

    PyCharm-错误-找不到指定文件python.exe的解决方法

    今天小编就为大家分享一篇PyCharm-错误-找不到指定文件python.exe的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • python编程羊车门问题代码示例

    python编程羊车门问题代码示例

    这篇文章主要介绍了python编程“羊车门”问题代码示例,初步接触,仅供参考。不足之处,欢迎指出。
    2017-10-10
  • Python OpenCV图像指定区域裁剪的实现

    Python OpenCV图像指定区域裁剪的实现

    这篇文章主要介绍了Python OpenCV图像指定区域裁剪的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • python中如何实现将数据分成训练集与测试集的方法

    python中如何实现将数据分成训练集与测试集的方法

    这篇文章主要介绍了python中如何实现将数据分成训练集与测试集的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • Python OpenCV之图片缩放的实现(cv2.resize)

    Python OpenCV之图片缩放的实现(cv2.resize)

    这篇文章主要介绍了Python OpenCV之图片缩放的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-06-06
  • Python运维之获取系统CPU信息的实现方法

    Python运维之获取系统CPU信息的实现方法

    今天小编就为大家分享一篇Python运维之获取系统CPU信息的实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06

最新评论