python图像识别入门_Python 图像处理库 Pillow 入门(含代码).pdf

Python 图像处理库 Pillow 入门 (含代码 )

Pillow 是 Python里的图像处理库 (PIL :Python Image Library ),提供了了

广泛的文件格式支持 ,强大的图像处理能力 ,主要包括图像储存、图像显示、格

式转换以及基本的图像处理操作等。

1)使用 Image 类

PIL最重要的类是 Image class, 你可以通过多种方法创建这个类的实例 ;你可

以从文件加载图像 ,或者处理其他图像, 或者从 scratch 创建。

要从文件加载图像 ,可以使用 open( )函数 ,在 Image模块中 :

>>>from PIL import Image

>>>im = Image.open("E/photoshop/1.jpg")

加载成功后 ,将返回一个 Image对象 ,可以通过使用示例属性查看文件内容 :

>>>print(im.format, im.size, im.mode)

('JPEG', (600, 351), 'RGB')

>>>

format 这个属性标识了图像来源。如果图像不是从文件读取它的值就是 None。

size属性是一个二元 tuple ,包含 width和 height(宽度和高度 ,单位都是 px )。

mode 属性定义了图像 bands 的数量和名称 ,以及像素类型和深度。常见的

modes 有 “L” (luminance) 表示灰度图像, “RGB” 表示真彩色图像, and

“CMYK” 表示出版图像。

如果文件打开错误 ,返回 IOError 错误。

只要你有了 Image 类的实例 ,你就可以通过类的方法处理图像。比如 ,下列方

法可以显示图像 :

im.show()

2 )读写图像

PIL 模块支持大量图片格式。使用在 Image 模块的 open() 函数从磁盘读取文

件。你不需要知道文件格式就能打开它 ,这个库能够根据文件内容自动确定文件

格式。要保存文件 ,使用 Image 类的 save() 方法。保存文件的时候文件名变

得重要了。除非你指定格式 ,否则这个库将会以文件名的扩展名作为格式保存。

加载文件 ,并转化为 png格式 :

"Python Image Library Test"

from PIL import Image

import os

import sys

for infile in sys.argv[1]

f,e =os.path.splitext(infile)

outfile =f +".png"

if infile !=outfile

try

Image.open(infile).save(outfile)

except IOError

print("Cannot convert", infile)

save() 方法的第二个参数可以指定文件格式。

3 )创建缩略图

缩略图是网络开发或图像软件预览常用的一种基本技术 ,使用 Python的 Pillow

图像库可以很方便的建立缩略图 ,如下 :

# create thumbnail

size = (128,128)

for infile in glob.glob("E/photoshop/*.jpg")

f, ext =os.path.splitext(infile)

img = Image.open(infile)

img.thumbnail(size,Image.ANTIALIAS)

img.save(f+".thumbnail","JPEG")

上段代码对 photoshop下的jpg 图像文件全部创建缩略图 ,并保存 ,glob模

块是一种智能化的文件名匹配技术 ,在批图像处理中经常会用到。

注意 :Pillow 库不会直接解码或者加载图像栅格数据。当你打开一个文件 ,只

会读取文件头信息用来确定格式 ,颜色模式 ,大小等等 ,文件的剩余部分不会主

动处理。这意味着打开一个图像文件的操作十分快速 ,跟图片大小和压缩方式无

关。

4 )图像的剪切、粘贴与合并操作

Image

你可能感兴趣的:(python图像识别入门)