环境: Ubuntu 12.4
模式
1 | 1位像素,黑和白,存成8位的像素 |
L | 8位像素,黑白 |
P | 8位像素,使用调色板映射到任何其他模式 |
RGB | 3×8位像素,真彩 |
RGBA | 4×8位像素,真彩+透明通道 |
CMYK | 4×8位像素,颜色隔离 |
YCbCr | 3×8位像素,彩色视频格式 |
I | 32位整型像素 |
F | 32位浮点型像素 |
导入图片处理库
>>>from PIL import Image
加载图片文件
>>>im = Image.open(‘aa.jpeg’)
输出文件的格式,大小,模式
>>> print im.format, im.size, im.mode
JPEG (510, 333) RGB
>>> im.show()
白化图片
>>> im.convert(‘1’).show()
获取图片pixel数据
方法一:
>>> import numpy
>>> numpy.asarray(im)[100, 100]
方法二:
>>> im.getpixel((100, 100))
(254, 167, 175)
方法三:
>>> im.load()[100, 100]
(254, 167, 175)
几何转变提供resize,rotate等方法,用以重定义图片大小,对图片进行旋转等操作。
>>> im.resize((250, 150)).show()
>>> im.rotate(45).show()
图片加强
滤镜
ImageFilter模块提供了很多预定义的图片加强滤镜
>>>import ImageFilter
>>> im.filter(ImageFilter.DETAIL).show()
>>>import ImageEnhance
>>>ImageEnhance.Contrast(im).enhance(1.5).show()
通道
一个图片包含一个或多个数据通道, 如果这些通道有相同的长度和宽度, 可以进入叠加
>>> r,g,b = im.split()
>>>r.sohw()
>>>g.show()
>>>b.show()
>>>im2 = Image.merge(‘RGB’, (b,g,r))