您的位置:首页 > 编程语言 > Python开发

Python-pillow

2016-03-17 17:31 495 查看
一:Pillow简介

Pillow 是PIL的替代版本,PIL软件包提供了基本的图像处理功能,如:改变图像大小,旋转图像,图像格式转换,色场空间转换,图像增强,直方图处理,插值和滤波等等。

Pillow 为了解决 PIL 的两个问题:

1. 不兼容setuptools

2. 报告的问题太多,而更新太慢

二:Pillow Image

from PIL import Image

im = Image.open("Image.JPG")
# format属性定义了图像的格式,如果图像不是从文件打开的,那么该属性值为None;
# size属性是一个tuple,表示图像的宽和高(单位为像素);
# mode属性为表示图像的模式,常用的模式为:L为灰度图,RGB为真彩色,CMYK为pre-press图像。
# 如果文件不能打开,则抛出IOError异常。
print(im.format, im.size, im.mode)

# 标准版本的show()方法不是很有效率,因为它先将图像保存为一个临时文件,然后使用xv进行显示。
# 如果没有安装xv,该函数甚至不能工作。但是该方法非常便于debug和test。
#(windows中应该调用默认图片查看器打开)
im.show()


三:Pillow 例子

网上有很多不错的例子,可以参考http://www.cnblogs.com/apexchu/p/4231041.html

http://www.myexception.cn/image/1845354.html

import os, sys
import argparse
from PIL import Image

parser = argparse.ArgumentParser()
parser.add_argument("inputfile", help="inputfile name")

result = parser.parse_args()

try:
filename, prefix = os.path.splitext(result.inputfile)
outfile = filename + ".jpg"
Image.open(result.inputfile).save(outfile)
except IOError:
print("cannot convert", result.inputfile)


import os, sys
import argparse
from PIL import Image

parser = argparse.ArgumentParser()
parser.add_argument("inputfile", help="inputfile name")
parser.add_argument("delta", type=int)

result = parser.parse_args()

def roll(image, delta):
"Roll an image sideways"

image = image.copy()  # copy image
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

try:
filename, prefix = os.path.splitext(result.inputfile)
outfile = filename + ".jpg"
# Image.open(result.inputfile).save(outfile)
im = Image.open(result.inputfile)
im = roll(im, result.delta)
im.save(outfile)
except IOError:
print("cannot convert", result.inputfile)


总体来说Pillow还是很强大的一个图像处理库,如果想深入的话可以继续查看代码学习;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: