ITPub博客

首页 > 应用开发 > IT综合 > Python PIL图片数据操作

Python PIL图片数据操作

原创 IT综合 作者:std1984 时间:2014-07-30 18:44:59 0 删除 编辑
环境: 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))

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/16582684/viewspace-1242676/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-12-29

  • 博文量
    171
  • 访问量
    1401347