Pillow和Numpy的图像基本操作

  PIL与setuptools不兼容,而且从2009年就停止更新了,本文中采用了Pillow。

  Pillow与PIL模块不能同时安装,但是在import的时候仍然要用PIL来代替Pillow。

  Pillow中最重要的一个模块就是Image。

1.图像的加载、显示和保存

# !/usr/bin/python
# -*- coding:utf-8 -*-

from PIL import Image

# 加载图像(路径必须双\\)
pil_img = Image.open('D:\\1.tif')
# 显示
pil_img.show()
# 另存为
outfile = "2"+".jpg"
pil_img.save(outfile)

2.图像的数组操作

  图像用Image.open的形式加载进来后是一个PIL的图像对象,为了方便用Numpy进一步操作,需要用array()转化为数组。

# !/usr/bin/python
# -*- coding:utf-8 -*-

from PIL import Image
from numpy import *

# 加载图像(路径必须双\\)
pil_img = Image.open('D:\\1.tif')

# 转化为数组
img = array(pil_img)

# 获取图像参数
height,width = img.shape[0:2]

# 访问像素
value = img[i,j,k]  #[行,列,channel]

采用数组处理完以后再变回图像:

pil_im2 = Image.fromarray(uint8(img))
posted @ 2017-03-17 21:42  jenny1000000  阅读(827)  评论(0编辑  收藏  举报