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))