python安装pillow库(安装python库Pillow(PIL)出现问题及解决方法)

:暂无数据 2026-04-09 15:40:02 0
各位朋友,关于python安装pillow库的讨论一直很多,今天咱们不聊复杂的,就聚焦于安装python库Pillow(PIL)出现问题及解决方法,用最直白的方式把它讲清楚。

本文目录

安装python库Pillow(PIL)出现问题及解决方法

安装 PIL ,问题多多,现将出现问题,原因,以及解决方法总结如下:
PIL 的官方版本,但是最后一次维护是2009年,现以宣布停止维护,可以运行在python2.7上。
Pillow PIL 的fork版本,还在继续维护更新,建议安装 Pillow 。

在安装Pillow之前,请卸载PIL

安装Pillow 依赖,下面安装是真对ubuntu14.04版本

下面介绍各包提供功能,以及需要的包版本限制(重要)

在我的 ubuntu14.04 中 openjpeg 版本过低,所以找到 openjpeg 的官方网站编译安装最新版的 openjpeg

完成依赖安装后,使用命令 sudo pip install Pillow 安装Pillow
在我的ubuntu 14.04安装成功后,在导入仍然提示: 这样的错误,在stackoverflow找到了解决方法:

Python如何图像识别

pillow包可以处理图像
pillow:(了解)(python image library)是一个有关图像图片处理的包,这个包底层用的C C++,但PIL包是python2下使用。所以又更新了一个适合python3版本的、基于PIL包的新包pillow。
安装pillow:
pip install pillow
至于识别,那就可能是文字识别或人脸识别。这需要学习很多东西,建议小白还是先把基础学好吧。

怎么样在Python编程中使用Pillow来处理图像

安装
刚接触Pillow的朋友先来看一下Pillow的安装方法,在这里我们以Mac OS环境为例: (1)、使用 pip 安装 Python 库。pip 是 Python 的包管理工具,安装后就可以直接在命令行一站式地安装/管理各种库了(pip 文档)。
***隐藏网址***
(2)、使用 pip 下载获取 Pillow:
$ pip install pillow
(3)、安装过程中命令行出现错误提示:”error: command ‘clang’ failed with exit status
1”。上网查阅,发现需要通过 Xcode 更新 Command Line Tool。于是打开
Xcode-》Preferences-》Downloads-Components选项卡。咦?竟然没了 Command Line
Tools。再查,发现 Xcode 5 以上现在需要用命令行安装:
$ xcode-select —install
系统会弹出安装命令行工具的提示,点击安装即可。
此时再 pip install pillow,就安装成功了。
pip ****ze 命令查看已经安装的 Python 包,Pillow 已经乖乖躺那儿了。
好了,下面开始进入教程~
Image类
Pillow中最重要的类就是Image,该类存在于同名的模块中。可以通过以下几种方式实例化:从文件中读取图片,处理其他图片得到,或者直接创建一个图片。
使用Image模块中的open函数打开一张图片:
》》》 from PIL import Image》》》 im = Image.open("lena.ppm")
如果打开成功,返回一个Image对象,可以通过对象属性检查文件内容
》》》 from __future__ import print_function》》》 print(im.format, im.size, im.mode)
PPM (512, 512) RGB
format属性定义了图像的格式,如果图像不是从文件打开的,那么该属性值为None;size属性是一个tuple,表示图像的宽和高(单位为像素);mode属性为表示图像的模式,常用的模式为:L为灰度图,RGB为真彩色,CMYK为pre-press图像。
如果文件不能打开,则抛出IOError异常。
当有一个Image对象时,可以用Image类的各个方法进行处理和操作图像,例如显示图片:
》》》 im.show()
ps:标准版本的show()方法不是很有效率,因为它先将图像保存为一个临时文件,然后使用xv进行显示。如果没有安装xv,该函数甚至不能工作。但是该方法非常便于debug和test。(windows中应该调用默认图片查看器打开)
读写图片
Pillow库支持相当多的图片格式。直接使用Image模块中的open()函数读取图片,而不必先处理图片的格式,Pillow库自动根据文件决定格式。
Image模块中的save()函数可以保存图片,除非你指定文件格式,那么文件名中的扩展名用来指定文件格式。
图片转成jpg格式
from __future__ import print_functionimport os, sysfrom PIL import Imagefor infile in sys.argv: f, e = os.path.splitext(infile) outfile = f + ".jpg" if infile != outfile: try: Image.open(infile).save(outfile) except IOError: print("cannot convert", infile)
save函数的第二个参数可以用来指定图片格式,如果文件名中没有给出一个标准的图像格式,那么第二个参数是必须的。
创建缩略图
from __future__ import print_functionimport os, sysfrom PIL import Imagesize = (128, 128)for infile in sys.argv + ".thumbnail" if infile != outfile: try: im = Image.open(infile) im.thumbnail(size) im.save(outfile, "JPEG") except IOError: print("cannot create thumbnail for", infile)
必须指出的是除非必须,Pillow不会解码或raster数据。当你打开一个文件,Pillow通过文件头确定文件格式,大小,mode等数据,余下数据直到需要时才处理。
这意味着打开文件非常快,与文件大小和压缩格式无关。下面的程序用来快速确定图片属性:
确定图片属性
from __future__ import print_functionimport sysfrom PIL import Imagefor infile in sys.argv: try: with Image.open(infile) as im: print(infile, im.format, "%dx%d" % im.size, im.mode) except IOError: pass
裁剪、粘贴、与合并图片
Image类包含还多操作图片区域的方法。如crop()方法可以从图片中提取一个子矩形
从图片中复制子图像
box = im.copy() #直接复制图像box = (100, 100, 400, 400)region = im.crop(box)
区域由4-tuple决定,该tuple中信息为(left, upper, right, lower)。 Pillow左边系统的原点(0,0)为图片的左上角。坐标中的数字单位为像素点,所以上例中截取的图片大小为300*300像素^2。
处理子图,粘贴回原图
region = region.transpose(Image.ROTATE_180)im.paste(region, box)
将子图paste回原图时,子图的region必须和给定box的region吻合。该region不能超过原图。而原图和region的mode不需要匹配,Pillow会自动处理。
另一个例子
Rolling an imagedef roll(image, delta): "Roll an image sideways" image = image.copy() #复制图像 xsize, ysize = image.size delta = delta % xsize if delta == 0: return image part1 = image.crop((0, 0, delta, ysize)) part2 = image.crop((delta, 0, xsize, ysize)) image.paste(part2, (0, 0, xsize-delta, ysize)) image.paste(part1, (xsize-delta, 0, xsize, ysize)) return image
分离和合并通道
r, g, b = im.split()im = Image.merge("RGB", (b, g, r))
对于单通道图片,split()返回图像本身。为了处理单通道图片,必须先将图片转成RGB。
几何变换
Image类有resize()、rotate()和transpose()、transform()方法进行几何变换。
简单几何变换
out = im.resize((128, 128))out = im.rotate(45) # 顺时针角度表示
置换图像
out = im.transpose(Image.FLIP_LEFT_RIGHT)out = im.transpose(Image.FLIP_TOP_BOTTOM)out = im.transpose(Image.ROTATE_90)out = im.transpose(Image.ROTATE_180)out = im.transpose(Image.ROTATE_270)
transpose()和象的rotate()没有性能差别。
更通用的图像变换方法可以使用transform()
模式转换
convert()方法
模式转换
im = Image.open(’lena.ppm’).convert(’L’)
图像增强
Filter ImageFilter模块包含很多预定义的增强filters,通过filter()方法使用
应用filters
from PIL import ImageFilterout = im.filter(ImageFilter.DETAIL)
像素点处理
point()方法通过一个函数或者查询表对图像中的像素点进行处理(例如对比度操作)。
像素点变换
# multiply each pixel by 1.2out = im.point(lambda i: i * 1.2)
上述方法可以利用简单的表达式进行图像处理,通过组合point()和paste()还能选择性地处理图片的某一区域。
处理单独通道
# split the image into individual bandssource = im.split()R, G, B = 0, 1, 2# select regi*** where red is less than 100mask = source.paste(out, None, mask)# build a new multiband imageim = Image.merge(im.mode, source)
注意到创建mask的语句:
mask = source.point(lambda i: i 《 100 and 255)
该句可以用下句表示
imout = im.point(lambda i: expression and 255)
如果expression为假则返回expression的值为0(因为and语句已经可以得出结果了),否则返回255。(mask参数用法:当为0时,保留当前值,255为使用paste进来的值,中间则用于transparency效果)
高级图片增强
对其他高级图片增强,应该使用ImageEnhance模块 。一旦有一个Image对象,应用ImageEnhance对象就能快速地进行设置。 可以使用以下方法调整对比度、亮度、色平衡和锐利度。
图像增强
from PIL import ImageEnhanceenh = ImageEnhance.Contrast(im)enh.enhance(1.3).show("30% more contrast")
动态图
Pillow支持一些动态图片的格式如FLI/FLC,GIF和其他一些处于实验阶段的格式。TIFF文件同样可以包含数帧图像。
当读取动态图时,PIL自动读取动态图的第一帧,可以使用seek和tell方法读取不同郑
from PIL import Imageim = Image.open("animation.gif")im.seek(1) # skip to the second frametry: while 1: im.seek(im.tell()+1) # do something to imexcept EOFError: pass # end of sequence
当读取到最后一帧时,Pillow抛出EOFError异常。
当前版本只允许seek到下一郑为了倒回之前,必须重新打开文件。
或者可以使用下述迭代器类
动态图迭代器类
class ImageSequence: def __init__(self, im): self.im = im def __getitem__(self, ix): try: if ix: self.im.seek(ix) return self.im except EOFError: raise IndexError # end of sequencefor frame in ImageSequence(im): # ...do something to frame...Postscript Printing
Pillow允许通过Postscript Printer在图片上添加images、text、graphics。
Drawing Postscriptfrom PIL import Imagefrom PIL import PSDrawim = Image.open("lena.ppm")title = "lena"box = (1*72, 2*72, 7*72, 10*72) # in pointsps = PSDraw.PSDraw() # default is sys.stdoutps.begin_document(title)# draw the image (75 dpi)ps.image(box, im, 75)ps.rectangle(box)# draw centered titleps.setfont("HelveticaNarrow-Bold", 36)w, h, b = ps.textsize(title)ps.text((4*72-w/2, 1*72-h), title)ps.end_document()
更多读取图片方法
之前说到Image模块的open()函数已经足够日常使用。该函数的参数也可以是一个文件对象。
从string中读取
import StringIOim = Image.open(StringIO.StringIO(buffer))
从tar文件中读取
from PIL import TarIOfp = TarIO.TarIO("Imaging.tar", "Imaging/test/lena.ppm")im = Image.open(fp)
草稿模式
draft()方法允许在不读取文件内容的情况下尽可能(可能不会完全等于给定的参数)地将图片转成给定模式和大小,这在生成缩略图的时候非常有效(速度要求比质量高的场合)。
draft模式
from __future__ import print_functionim = Image.open(file)print("original =", im.mode, im.size)im.draft("L", (100, 100))print("draft =", im.mode, im.size)

python怎么把空心字填颜色代码

1、安装Pillow库,可以使用pip命令进行安装:pipinstallPillow。
2、使用Pillow库中的Image、ImageDraw和ImageFont模块,创建一个空白的图像对象,并加载需要添加填充色的字体文件。

python中pil如何导入

PIL是python的第三方图像处理库,我们可以值cmd使用pip install pillow命令安装pil库,下面我们就来看一下如何导入pil库。
python中可以使用import导入pil模块:
主要有以下两种导入方法:
import 模块名1 ,…:使用这种语法格式的 import 语句,会导入指定模块中的所有成员(包括变量、函数、类等)。不仅如此,当需要使用模块中的成员时,需用该模块名(或别名)作为前缀,否则 Python 解释器会报错。
from 模块名 import 成员名1 ,…: 使用这种语法格式的 import 语句,只会导入模块中指定的成员,而不是全部成员。同时,当程序中使用该成员时,无需附加任何前缀,直接使用成员名(或别名)即可。
更多Python知识请关注Python自学网。

win7环境下python怎么安装第三方库

你可以在cmd模式下输入pip -h,可以获得详细的pip指令信息,如下图:我只用过pip的install命令,用来下载安装第三方库。比如想安装的第三方库的名字是Pillow,那么在命令行输入:pip install Pillow然后pip会选择适合你的python版本的Pillow版本,如果找到适用的版本,就会自动下载安装。

ps制作五一劳动节海报-如何用python画五一海报

photoshop怎样制作劳动节快乐动态图

动态图即GIF图片,GIF(GraphicsInterchangeFormat)的原义是“图像互换格式”,是CompuServe公司在1987年开发的图像文件格式。GIF格式的特点是其在一个GIF文件中可以存多幅彩色图像,如果把存于一个文件中的多幅图像数据逐幅读出并显示到屏幕上,就可构成一种最简单的动画。

photoshop制作劳动节快乐动态图的方法是:

1、打开ps软件,“文件--新建”适当大小白色背景文件;

2、点击左边工具栏“T”文字工具,打字;

3、ctrl+t调整大小位置,栅格化文字;

4、双击调出“调出样式”,设置“斜面和浮雕”、“投影”等效果;

5、创建新图层,用不同颜色在文字两端画两条直线,模糊;

6、右键点击图层,“创建剪贴蒙版”;

7、右键文字图层,栅格化图层样式,打开“窗口--时间轴”,设置动画帧及帧显示时间;

8、“文件--存储为web使用格式--预览--另存为”GIF图片,完成。

用ps做海报,都有哪些主题可以做?全面点的!

节日类的,比如:母亲节,劳动节,国庆节、圣诞节,元旦节

店面宣传的:手机、数码产品

楼盘

活动宣传类

很多的,只要是想宣传的东西,都可以通过海报的形式表达出来。

如何用python画五一海报

要用Python画五一海报,需要用到Python的绘图库,比如matplotlib、Pillow等。以下是一个简单的例子,演示如何使用Python和Pillow库来制作五一海报:

fromPILimportImage,ImageDraw,ImageFont

#创建一个空白的画布,大小为800x600,背景色为白色

canvas=(’RGB’,(800,600),(255,255,255))

#在画布上添加五一节日祝福语

font=(’’,48)#设置字体样式和大小

draw=(canvas)

((200,100),’五一快乐!’,fill=(0,0,0),font=font)#设置文字位置、颜色和字体

#在画布上添加五星红旗图案

flag=(’’)#读取五星红旗图片

flag=((200,133))#设置图片大小为200x133

(flag,(300,300))#将图片粘贴到画布上

#保存并展示画布

(’’)

()

在这个例子中,我们首先使用Pillow库创建了一个800x600大小的空白画布,并在画布上添加了五一节日祝福语和五星红旗图案。最后使用save()方法将画布保存为PNG格式的图片,并使用show()方法展示图片。在实际操作中,您需要根据自己的需求来修改代码,比如更换祝福语、调整字体大小和颜色、更换图片等。

自学Python:解决Python3无法安装PIL三方库的办法

如果你是Python3的版本,安装PIL的时候,会出现下面的错误。

ERROR: Could not find a version that satisfies the requirement PIL (from versi***: none)

ERROR: No matching distribution found for PIL

WARNING: You are using pip version 21.1.1; however, version 21.2.1 is available.

You should c***ider upgrading via the ’D:\python\Scripts\python**** -m pip install --upgrade pip’ command.

英文看不懂,可以找个翻译软件翻译一下。意思就是现在PIL没有支持python3的版本,目前只支持python2。那么在python3就不能用了吗?

当然不是,经过查询资料发现,在python3上使用Pillow代替PIL,只要安装Pillow就可以正常调用PIL的所有功能了。

安装Pillow后如果想要使用,不能使用import Pillow,执行会报下面的错误。

ModuleNotFoundError: No module named ’Pillow’

而是要直接使用import PIL调用。

_______________END______________

python3.4怎么安装pil

关于Pillow与PIL
PIL(Python Imaging Library)是Python一个强大方便的图像处理库,名气也比较大。不过只支持到Python 2.7。
***隐藏网址***
Pillow是PIL的一个派生分支,但如今已经发展成为比PIL本身更具活力的图像处理库。目前最新版本是3.0.0。
***隐藏网址***
***隐藏网址***
***隐藏网址***
Python 3.x 安装Pillow
给Python安装Pillow非常简单,使用pip或easy_install只要一行代码即可。
在命令行使用PIP安装:
pip install Pillow
或在命令行使用easy_install安装:
easy_install Pillow
安装完成后,使用from PIL import Image就引用使用库了。比如:
from PIL import Image
im = Image.open("bride.jpg")
im.rotate(45).show()
简单,方便。

把复杂的python安装pillow库安装python库Pillow(PIL)出现问题及解决方法讲简单,是我们的追求。你的“懂了”,是我们的成就。
本文编辑:admin

更多文章:


手机个人简历电子版免费下载(手机怎么下载个人简历)

手机个人简历电子版免费下载(手机怎么下载个人简历)

有没有觉得手机个人简历电子版免费下载听起来很高深?别怕,今天我们就把它和手机怎么下载个人简历一起,拆解成易懂的小知识点。

2026年4月9日 17:20

java中的lambda表达式(Lambda表达式的Java表达式)

java中的lambda表达式(Lambda表达式的Java表达式)

大家好,今天小编来为大家解答以下的问题,关于java中的lambda表达式,Lambda表达式的Java表达式这个很多人还不知道,现在让我们一起来看看吧!

2026年4月9日 17:00

c语言中%c给数组赋值(c语言怎样给数组赋值)

c语言中%c给数组赋值(c语言怎样给数组赋值)

正如一位名家所言:“弄懂c语言怎样给数组赋值,是通往c语言中%c给数组赋值殿堂的捷径。” 今天,我们就来走一走这条捷径。

2026年4月9日 16:40

html文档流(怎么让html标签脱离文档流不受当前父类的宽度限制)

html文档流(怎么让html标签脱离文档流不受当前父类的宽度限制)

各位老铁们,大家好,今天由我来为大家分享html文档流,以及怎么让html标签脱离文档流不受当前父类的宽度限制的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧

2026年4月9日 16:20

列表count函数(excel中count函数的使用方法步骤图)

列表count函数(excel中count函数的使用方法步骤图)

相信点开这篇文章的你,一定对列表count函数抱有好奇。没关系,下面我们就结合excel中count函数的使用方法步骤图,带你一步步揭开它的面纱。

2026年4月9日 16:00

python安装pillow库(安装python库Pillow(PIL)出现问题及解决方法)

python安装pillow库(安装python库Pillow(PIL)出现问题及解决方法)

各位朋友,关于python安装pillow库的讨论一直很多,今天咱们不聊复杂的,就聚焦于安装python库Pillow(PIL)出现问题及解决方法,用最直白的方式把它讲清楚。

2026年4月9日 15:40

startup是什么意思(startup翻译成中文)

startup是什么意思(startup翻译成中文)

本篇文章给大家谈谈startup是什么意思,以及startup翻译成中文对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

2026年4月9日 15:20

jframe和frame的区别(Java JFrame 和 Frame 的区别)

jframe和frame的区别(Java JFrame 和 Frame 的区别)

就像学骑车需要掌握平衡一样,理解jframe和frame的区别的窍门,恰恰在于把握好Java JFrame 和 Frame 的区别这个“平衡点”。

2026年4月9日 15:00

properties文件是干什么的(idea里.properties文件的作用)

properties文件是干什么的(idea里.properties文件的作用)

有研究表明,成功掌握properties文件是干什么的的学习者,普遍在idea里.properties文件的作用这个环节投入了更多精力。其重要性不言而喻。

2026年4月9日 14:40

数据分析岗位(数据分析员岗位职责有哪些)

数据分析岗位(数据分析员岗位职责有哪些)

是不是总觉得数据分析岗位的知识体系太庞大,数据分析员岗位职责有哪些更是无从下手?本文将帮你化繁为简,抓住核心。

2026年4月9日 14:20

最近更新

python安装pillow库(安装python库Pillow(PIL)出现问题及解决方法)
2026-04-09 15:40:02 浏览:0
jframe和frame的区别(Java JFrame 和 Frame 的区别)
2026-04-09 15:00:02 浏览:0
properties文件是干什么的(idea里.properties文件的作用)
2026-04-09 14:40:02 浏览:0
热门文章

繁体字转换器(繁体字转化)
2026-04-04 18:00:01 浏览:0
androidbc(bc8-android是什么手机型号)
2026-04-05 07:20:02 浏览:0
标签列表