Python PIL图片数据操作

来源:互联网 发布:汉仪雪君体简mac 编辑:程序博客网 时间:2024/05/16 15:55
环境: 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]
array([254, 167, 175], dtype=uint8)

方法二:
>>> 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))
0 0
原创粉丝点击