python中pillow库教程_Python编程图形库之Pillow使用方法讲解

本文介绍了Python图像处理库Pillow的起源、目标、安装方法及基本使用,包括图像抓取、滤镜应用和旋转操作。Pillow作为PIL的分支,提供了丰富的图形处理功能,易于使用。
摘要由CSDN通过智能技术生成

PIL vs Pillow

PIL: Python Imaging Library,是python的图像处理库。由于PIL不兼容setuptools,再加上更新缓慢等因素,Alex Clark等一些社区好心人还是希望能够继续支持PIL,所以fork了PIL,这就是Pillow的缘起。

Pillow的目标

推动和促进PIL的发展是Pillow的目标,主要通过如下的方式来进行

结合Travis CI和AppVeyor进行持续集成测试

活用github进行开发

结合Python Package Index进行例行发布

其实可以看出,所做的改善就是在CI和CD,改善用户感知,定期/快速地与使用者进行沟通和交流,是pillow获得好感的一个重要因素。

安装

安装可以通过pip,只需要执行pip install pillow即可

liumiaocn:~ liumiao$ pip install pillow

Collecting pillow

Downloading https://files.pythonhosted.org/packages/df/aa/a25f211a4686f363d8ca5a1752c43a8f42459e70af13e20713d3e636f0af/Pillow-5.1.0-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (3.6MB)

100% |████████████████████████████████| 3.6MB 157kB/s

Installing collected packages: pillow

Successfully installed pillow-5.1.0

liumiaocn:~ liumiao$

安装确认

liumiaocn:~ liumiao$ pip show pillow

Name: Pillow

Version: 5.1.0

Summary: Python Imaging Library (Fork)

Home-page: https://python-pillow.org

Author: Alex Clark (Fork Author)

Author-email: aclark@aclark.net

License: Standard PIL License

Location: /usr/local/lib/python2.7/site-packages

Requires:

Required-by:

liumiaocn:~ liumiao$

使用

图形库有很多实用的功能,这里列举几个进行简单演示。

ImageGrab.grab()

使用这个方法可以实现抓屏:

liumiaocn:tmp liumiao$ cat grab.python

#!/usr/local/bin/python

from PIL import ImageGrab

#get current screen copy

image = ImageGrab.grab()

#display image size

print("Current screen shot size :",image.size)

#display image mode

print("Screen shot picture mode :", image.mode)

#save picture to /tmp/screen-grab-1.bmp

image.save('/tmp/screen-grab-1.bmp')

#show picture

image.show()

liumiaocn:tmp liumiao$

因为代码中使用了image.show()进行了显示,执行之后可以直接看到显示,同时也能确认到/tmp下所生成的文件

liumiaocn:tmp liumiao$ python grab.python

('Current screen shot size :', (2880, 1800))

('Screen shot picture mode :', 'RGBA')

liumiaocn:tmp liumiao$ ls -l /tmp/screen-grab-1.bmp

-rw-r--r-- 1 liumiao wheel 20736054 Jun 23 05:41 /tmp/screen-grab-1.bmp

liumiaocn:tmp liumiao$

201907142348086437.png

滤镜

PIL中的ImageFilter支持近十种滤镜, 比如对刚刚抓取的图片使用CONTOUR滤镜

liumiaocn:tmp liumiao$ cat filter-contour.py

#!/usr/local/bin/python

from PIL import ImageFilter, Image

src_image = Image.open('/tmp/screen-grab-1.bmp')

print("begin to filter the pic")

dst_image = src_image.filter(ImageFilter.CONTOUR)

print("picture through filter")

dst_image.show()

liumiaocn:tmp liumiao$

执行之后可以得到如下图片

201907142348091999.png

旋转

使用rotate即可对图片进行旋转操作:

liumiaocn:tmp liumiao$ cat rotate.py

#!/usr/local/bin/python

from PIL import Image

src_image = Image.open('/tmp/screen-grab-1.bmp')

print("begin to rotate the pic")

dst_image = src_image.rotate(90)

print("picture after rotating")

dst_image.show()

liumiaocn:tmp liumiao$

执行之后,即可确认

201907142348097709.png

Pillow功能非常之多,而且使用也很方便,比如resize对尺寸进行调节,还可以添加文字等等常见的图形处理操作,这里就不再一一介绍,具体的需要可以参看如下链接进行了解:https://pypi.org/project/Pillow/

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对找一找教程网的支持。如果你想了解更多相关内容请查看下面相关链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值