- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章Python编程图形库之Pillow使用方法讲解由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
pil vs pillow 。
pil: python imaging library,是python的图像处理库。由于pil不兼容setuptools,再加上更新缓慢等因素,alex clark等一些社区好心人还是希望能够继续支持pil,所以fork了pil,这就是pillow的缘起.
pillow的目标 。
推动和促进pil的发展是pillow的目标,主要通过如下的方式来进行 。
其实可以看出,所做的改善就是在ci和cd,改善用户感知,定期/快速地与使用者进行沟通和交流,是pillow获得好感的一个重要因素.
安装 。
安装可以通过pip,只需要执行pip install pillow即可 。
1
2
3
4
5
6
7
|
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$
|
安装确认 。
1
2
3
4
5
6
7
8
9
10
11
12
|
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() 。
使用这个方法可以实现抓屏:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
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下所生成的文件 。
1
2
3
4
5
6
|
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$
|
滤镜 。
pil中的imagefilter支持近十种滤镜, 比如对刚刚抓取的图片使用contour滤镜 。
1
2
3
4
5
6
7
8
9
|
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$
|
执行之后可以得到如下图片 。
旋转 。
使用rotate即可对图片进行旋转操作:
1
2
3
4
5
6
7
8
9
|
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$
|
执行之后,即可确认 。
pillow功能非常之多,而且使用也很方便,比如resize对尺寸进行调节,还可以添加文字等等常见的图形处理操作,这里就不再一一介绍,具体的需要可以参看如下链接进行了解:https://pypi.org/project/pillow/ 。
总结 。
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我的支持。如果你想了解更多相关内容请查看下面相关链接 。
原文链接:https://blog.csdn.net/liumiaocn/article/details/80780342 。
最后此篇关于Python编程图形库之Pillow使用方法讲解的文章就讲到这里了,如果你想了解更多关于Python编程图形库之Pillow使用方法讲解的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我正在用 Django 开发一个图片 uploader 。图片上传并保存到磁盘后,我正在尝试调整已保存图像的大小,同时保持其纵横比。我正在使用 Pillow 进行图像处理/调整大小。当我尝试调整图像大
我安装了 Pillow 包: python -m pip install pillow 得到成功消息(成功安装枕头)。关闭并重新打开终端。 但是当我尝试: import pillow 我收到错误消息:
当我运行 python manage.py runserver ,一切开始都很好,但后来我得到一个 SystemCheckError说明 Pillow 未安装;但是,这台机器上肯定安装了 Pillow
这个问题可能已经被问过好几次了,但我无法解决这个错误。我的 M1 Mac 上安装了 pillow、imageio 和其他库。但是,当我在代码下方运行时,仍然出现错误。 注意:我使用 miniforge
我正在遵循这个 SageMaker 指南并使用 1.12 cpu docker 文件。 https://github.com/aws/sagemaker-tensorflow-serving-cont
前言 Pillow作为一个图片模块。可谓是真的简便强大,它的前身是PIL,后来将他取代,现在的pillow 可谓是一家独大,好了,让我们来看看他的具体用法。 今天我们介绍pi
我想对 png 图像进行二值化。如果可能的话,我想使用 Pillow。我见过两种使用方法: image_file = Image.open("convert_image.png") # open co
我正在尝试使用 Pillow 为一些乌尔都语文本生成图像。使用相同的代码生成普通英语就像一个魅力,但当我对乌尔都语文本做同样的事情时,事情就不会那么顺利了。 以下是使用英语完成的代码和结果: from
美好的一天。 在我的工作中,有时我必须使用脚本从数字或 ID 中获取一些信息。就像下面的例子: 我使用的脚本: $sh script.sh 9999999999999 abc 出现在屏幕上的信息
我正在使用 Pillow 3.1.1 图像库和 Python 3.5.1。 我正在尝试使用 Pillow 在图像上绘制字体。但结果看起来绝对丑陋且 Not Acceptable 。 第一个例子:看起来
我希望给定目录中的所有图片都具有相同的大小。这就是我所拥有的: import PIL import os import math from PIL import Image dirPath = r"C
我正在尝试在我的服务器上重新安装 Pillow,我得到了这个: ... Proceed (y/n)? y Successfully uninstalled Pillow-4.0.0 (myproj
为什么我可以使用 ImageGrab.grab(300,200,400,150) 而不是这个:ImageGrab.grab(bbox)? 代码和错误消息: def wl(wx,wy): loc
我正在尝试使用pillow (pil) 来降低图像的文件大小,但是降低图像质量并不会降低保存图像的大小。保存的图像“image2”和“image3”大小相同。 import PIL from Imag
我需要沿着一条线获取像素值,我使用的是 Python3 和 Pillow。在 opencv 中有这样的东西 LineIterator这将返回两点之间所有适当的像素,但我在 Pillow 的文档中没有找
我有一张图片,我想将它转置 30 度。是否可以使用类似的东西 spinPicture003 = Picture003.transpose(Image.Rotate_30) 最佳答案 要绕其中心逆时针
opencv > pil ? 1
Image 对象有一些常用的基本属性,这些属性能够帮助我们了解图片的基本信息,下面对这些属性做简单的讲解: 1) size:查看图像的尺寸 from PIL import Image im = Im
我运行了以下命令将项目依赖项安装到 virtualenv novacek 中: (novacek) $ pip install -r reqs.txt reqs.txt 看起来像这样: Django=
我可以使用以下代码在基本图像上绘制黑色 strip (或矩形): base_width, base_height = img.size background = Image.new('RGBA', (
我是一名优秀的程序员,十分优秀!