编辑: 我不是阿L 2013-05-06
13 13-3 使用 pillow 处理图片 13-2 图片处理功能 在安装 pillow 套件后,我们要进行汇入才能使用它的功能,例如下面的叙述 是从 pillow 套件汇入 Image 模组: >>> from PIL import Image 请注意,这个叙述的套件名称是 PIL,而不是 pillow,原因在於 pillow 是承 袭PIL 的套件,为了顾及与 PIL 的相容性,让使用 PIL 的程式不经修改也能 正常运作,所以这个叙述就维持和原本汇入 PIL 相同的叙述.

pillow 套件包含数个模组,功能相当强大,我们会挑选一些常用的功能做介 绍,至於其它功能与说明文件,有需要的读者可以到 pillow 官方网站 (https://python-pillow.org/) 查看. 13-2-1 显示图片 首先,我们要准备一张图片,例如 coffee.jpg,然后在 IDLE 输入如下叙述, 就会启动预设的程式显示图片: ? 01:从pillow 套件汇入 Image 模组. ? 02:使用 Image 模组的 open() 函式开启参数所指定的图档,然后将图 片物件指派给变数 im.为了方便做示,此例是将图片 coffee.jpg 存放 在D: 磁碟,建议您另外建立资料夹存放图片. ? 03:使用图片物件的 show() 方法显示变数 im 所指向的图片.

01 >>> from PIL import Image

02 >>> im = Image.open("D:\\coffee.jpg")

03 >>> im.show() 第一次学 Python 就上手 13-4 执行结果如下图. 图片物件常用的属性如下: ? Image.format:图片的档案格式. ? Image.mode:图片的色彩模式 (像素格式),例如 "1"、"L"、"RGB"、 "CMYK" 分别表示黑白、灰阶、RGB、CMYK. ? Image.width:图片的宽度,以像素为单位. ? Image.height:图片的高度,以像素为单位. ? Image.size:图片的大小,传回值是一个表示宽度与高度的 tuple,例如: >>> im = Image.open("D:\\coffee.jpg") >>> print(im.format) JPEG >>> print(im.size) (585, 749)

13 13-5 使用 pillow 处理图片 13-2-2 将图片转换成黑白或灰阶 我们可以使用图片物件的 convert() 方法将图片转换成只有黑或白两色, 例如: ? 02:使用 Image 模组的 open() 函式开启参数所指定的图档,然后将图 片物件指派给变数 im. ? 03:使用图片物件的 convert() 方法并加上参数 "1",表示要转换成黑 白图片,然后将转换后的图片物件指派给变数 out. ? 04:使用图片物件的 show() 方法显示变数 out 所指向的图片. 执行结果如下图,图片的每个像素只有黑或白两色.

01 >>> from PIL import Image

02 >>> im = Image.open("D:\\coffee.jpg")

03 >>> out = im.convert("1")

04 >>> out.show() 第一次学 Python 就上手 13-6 若要转换成灰阶图片,可以将第

03 行中 convert() 方法的参数改成 "L",就 会得到如下图的结果,图片的每个像素除了有黑或白两色,还有不同浓淡 程度的灰色. 若要将转换后的图片存档,可以使用图片物件的 save() 方法,例如下面的 叙述是将变数 out 所指向的图片储存在参数所指定的路径与档名: >>> out.save("E:\\Jean\coffee2.jpg") 此外,对於不再使用的图片,建议使用图片物件的 close() 方法关闭档案 指标,释放图片所占用的记忆体,例如下面的叙述是关闭变数 out 的档案 指标: >>> out.close()

01 >>> from PIL import Image

02 >>> im = Image.open("D:\\coffee.jpg")

03 >>> out = im.convert("L")

04 >>> out.show()

13 13-7 使用 pillow 处理图片 13-2-3 旋转图片 我们可以使用图片物件的 rotate() 方法旋转图片,例如第

03 行是将图片往 逆时针方向旋转

45 度: 执行结果如下图. 除了rotate() 方法之外,还有另一个transpose() 方法,只要加上Image.FLIP_LEFT_RIGHT 、 Image.FLIP_TOP_BOTTOM 、 Image.ROTATE_

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题