pillow版本,pillow付费版

http://www.itjxue.com  2023-01-09 13:24  来源:未知  点击次数: 

安装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安装成功后,在导入仍然提示: [PIL - libopenjp2.so: cannot open shared object file: No such file or directory] 这样的错误,在stackoverflow找到了解决方法:

pillow这个app,大家有在使用的吗?我使用了两天,觉得很不错,但还没有内购,想问下内购会有

内购版会很强大,最显著的应当是可以查询历史睡眠记录。

当然心脏等额外内容也更丰富。

ImportError: DLL load failed:找不到指定的模块怎么解决

ImportError:DLL

load

failed:找不到指定的模块的解决方法是把numpy、scipy、matplotlib、scikit-learn用pip

uninstall掉,再去下载最新的whl包重新安装。

具体方案是:

第一步:

在命令中输入以下指令卸载相应的包:pip

uninstall

numpy;pip

uninstall

scipy;pip

?uninstall

matplotlib;pip

scikit-learn

第二步:

在下面的网站中找到对应的包,如果是python2.7就是cp27系列的,电脑是多少位的一定下载对应版本

第三步:

找到安装python的目录下的scipyts文件,在这个文件里安装相应的whl包

比如指令为

cd

C:/xxx/xxx/scipyts,然后在这里用指令

pip

install

D:/xxx/xxx/xxx.whl

假如有successful的显示就是完成了。

python pil 怎么安装

关于Pillow与PIL

PIL(Python Imaging Library)是Python一个强大方便的图像处理库,名气也比较大。不过只支持到Python 2.7。

PIL官方网站:

Pillow是PIL的一个派生分支,但如今已经发展成为比PIL本身更具活力的图像处理库。目前最新版本是3.0.0。

Pillow的Github主页:

Pillow的文档(对应版本v3.0.0):

Pillow的文档中文翻译(对应版本v2.4.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()

pillow教程

在Python图像库中最重要的类是同名模块中定义的 Image 类。您可以利用以下方法创造该类的实例:从文件中导入图像、处理其他的图像以及从零开始创建图像。

从文件中导入图像,使用在 Image 模块中的 open() 函数:

如果成功。该函数返回一个 Image 对象。您现在可以使用实例的属性来检查文件内容了:

format 属性识别图像的来源。如果图像不是从图像中读取,则该属性设置为None。 size 属性是一个一个包含宽和高(像素)的二元组。 mode 属性定义图像频段的数量和名称,以及像素的类型和深度。常用的模式(mode)为表示灰色图像的“L”,表示真彩色图像的处理问题“RGB”,以及印前图像的画面“CMYK”。

如何图像不能被打开,则会报出 OSError 异常。

一旦您有 Image 类的实例,您可以使用类中定义的方法来处理和操作图像。比如,让我们显示导入的图像:

show() 的标准版本不是非常的高效,因为该函数会把图像保存到一个临时文件并调用实用程序来显示图像。如果您没有安装一个合适的实用程序,它甚至不会起作用。虽然当它不起作用时,调试和测试是非常方便的。

下面的章节概括了该库提供的不同函数。

该Python图像库支持大量的图像文件格式。为了从磁盘中阅读文件,使用在 Image 模块中的 open() 。您不需要知道打开文件的文件格式。该库能够自动地根据文件的内容决定格式。

为了保存一个文件,使用 Image 类中的 save() 方法。当保存文件时,名字非常重要。除非您指定格式,该库使用文件名的后缀来发现将要使用的文件存储格式。

提供给 save() 方法的第二个参数精准地制定了一个文件的格式。如果您使用了非标准的后缀,您必须一直使用以下方式指定格式:

值得注意的是,非必要情况该库不会解码或加载栅格数据(raster data)。当您打开一个文件时,文件头将被读取用于确定文件格式以及提取如模式、尺寸等其他解码文件需要的性质,但是文件余下的部分会稍后再处理。

这意味着打开一个图像是最后的操作,它与文件大小和压缩类型无关。这里有一种简单的脚本可以块度地识别图像文件集:

Image类包含允许您操作图像内区域的方法。为了从图像中提取子矩形,使用crop()方法。

一个区域是一个4元组,其中坐标为(左,上,右,下)。该Python图像库使用左上角坐标为(0,0)的坐标系统。同样值得注意的是,坐标是指像素间的位置,因此上例中的区域正好为300x300的像素。

该区域现在能以某种方法进行处理并粘贴回去。

当将区域粘贴回去时,区域的大小必须准确地匹配给定的区域。此外,区域不能拓展到图像之外。然而,原始图像和区域的模式不必相匹。如果相同,则区域会在被粘贴前自动地转换(有关详细信息,请参阅下面的 颜色转换 部分)。

这里有一个额外的例子:

对于更高级的技巧,paste方法可以将透明掩码(transparency mask)作为可选参数。在掩码中,数值255被粘贴的图像在该位置是不透明的(即,被粘贴的图像就是原图粘贴)。数值0表示被粘贴的图像是完全透明的。在0和255之间的数值表示不同级别的透明程度。例如,粘贴一个RGBA图像并将其作为掩码会粘贴图像的不透明部分,但不会粘贴其透明背景。

该Python图像库也允许您在多频段图像中的单个频段中进行工作,例如RGB图像。split方法创造了新的图像集,每一个都包含了来自原始多频段图像的一个频段。合并函数将一个模式和图像组作为输入,并将其组合为新图像。下面示例交换了一个RGB图像的三个频段:

值得注意的是,对一个单波段图像而言, split() 返回图像本身。要在单个颜色频段上工作,您可能需要首先将图像转换为"RGB"。

PIL.Image.Image 类包含调整( resize() )和旋转( rotate() )一个图像的方法。前者通过输入元组来确定新的图片大小,后者通过输入的角度以逆时间旋转图片。

若要90度旋转图像,您即可以使用 rotate() 方法,也可以使用 transpose() 方法。后者还可以在水平或垂直轴周围翻转图像。

transpose(ROTATE)也可以和 rotate() 执行的结果相同,前提是rotate()中的expand标志设置为真,用以提供图像尺寸的相同更改。

图像转换的一种更一般的形式是通过 transform() 方法执行。

该Python图像库允许您使用convert()方法在不同的像素表示间转换图像。

该库可以在每个支持的模式和“L”以及“RGB”模式间进行转换。为了在其他模式间进行转换,您可能会使用到一个中间图像(通常为“RGB”图像)。

该Python图像库提供了大量的方法和模块用于增强图像。

ImageFilter 模块包含了许多能和 filter() 方法一起使用的预定义的增强过滤器。

point() 方法用于翻译图像的像素值(如图像对比度操作)。在多数情况下,一个函数对象期望一个传递给方法的参数。每一个像素都按照函数进行处理:

使用以上方法,您可以快速地在图像上应用任何简单的表达式。您还可以通过结合 point() 和 paste() 方法来有选择性地修改图像:

以下语法用于创造掩码:

Python仅评估确定结果所需的逻辑表达部分,并返回作为表达结果检查的最后值。因此,如果以上表达式为假(0),Python不再查看第二个操作数,并返回0。相反地,返回255。

对更先进的图像增强,您可以使用 ImageEnhance 模块中的类。一旦从图像创建,增强对象可用于快速尝试不同的设置。

您可以通过这种方式调整对比度、亮度、颜色平衡和锐度。

该Python图像库包含一些对图像序列(也称为动画支持)的基础支持。支持的序列格式包括FLI/FLC,GIF,以及一些实验格式。TIgFF文件还可以包含多个帧。

当您打开一个序列文件,PIL自动地导入序列的第一帧。您可以使用seek并告诉方法在不同帧之间移动:

如例所见,当序列结束时,您会得到一个 EOFError 异常。

下列类允许您使用for语句循环序列:

该Python图像库包含在PostScript打印机上打印图像、文本以及图形的功能。下面是一个简单的示例:

如早前描述的一样, Image 模块中的 open() 函数用于打开图像文件。在大部分情况下,您简单地传入文件名作为一个参数。Image.open能作为文本管理器:

您可以使用一个类文件对象来代替文件名。这个对戏必须实现必须实现file.read、file.seek和file.tell方法,且必须以二进制模式打开。

要从二进制数据中读取图像,请使用 Bytes10 类:

请注意,库在阅读图像头部之前会倒带文件(使用seek(0))。此外,当读取图像数据时(通过load方法),还将使用seek。如果图像文件嵌入到较大的文件中,例如tar文件,您可以使用 ContainerIO 或 TarIO 模块来访问它。

一些解码器允许您在从文件中读取图像时对其进行操作。这通常被用于创建缩略图(当速度远大于质量时)和打印到单色激光打印机(当只需要图像的灰度版本时)的解码过程。

draft()方法操纵打开但尚未加载的图像,以便尽可能与给定的模式和大小匹配。这是通过重新配置图像解码器来完成的。

这只适用于JPEG和MPO文件。

打印结果如下:

值得注意的是,生成的图像可能不会精确地匹配要求的模式和尺寸。为了确保图像不大于给定的尺寸,请使用thumbnail方法。

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

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

(责任编辑:IT教学网)

更多

推荐PHP+MySQL视频文章