Python-pillow
2016-03-17 17:31
495 查看
一:Pillow简介
Pillow 是PIL的替代版本,PIL软件包提供了基本的图像处理功能,如:改变图像大小,旋转图像,图像格式转换,色场空间转换,图像增强,直方图处理,插值和滤波等等。
Pillow 为了解决 PIL 的两个问题:
1. 不兼容setuptools
2. 报告的问题太多,而更新太慢
二:Pillow Image
三:Pillow 例子
网上有很多不错的例子,可以参考http://www.cnblogs.com/apexchu/p/4231041.html
和http://www.myexception.cn/image/1845354.html
总体来说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还是很强大的一个图像处理库,如果想深入的话可以继续查看代码学习;
相关文章推荐
- 提高Python运行效率的6个小窍门
- Java之——调用python方法
- 《笨办法学python3》的学习笔记(10-15)节
- python中文处理
- python I/O编程
- Python的基本使用
- 2016.3.17.Python之循环
- python装饰器
- python进阶
- python多线程简单同步问题
- Python安装、集成Eclipse及HelloWorld
- Python和数据科学的起步指南
- python 机器学习入门资料
- Python 学习之路(一)
- python基础学习
- python - win10环境下的Python2.7与Scarpy安装
- [leetcode] @python 115. Distinct Subsequences
- python 刷题:实现队列
- [leetcode] @python 114. Flatten Binary Tree to Linked List
- python 列表list 元组tuple 字典dict 集合set 介绍