本文使用Python的一些工具包(PIL、Matplotlib、Numpy以及SciPy)进行了简单的图像处理。下面会简单介绍这些工具包的功能及示例。
1.1 PIL:Python图像处理类库
PIL(Python Imaging Library)提供了通用的图像处理功能,以及大量有用的基本图像操作,如图像缩放、旋转、裁剪、颜色转换等。(PIL的下载地址:http://www.pythonware.com/products/pil/)
下面的例子是用PIL库实现将一张彩色图像转成灰度图像、复制图像并进行旋转变换再拷贝到原来的图像上、调整图像尺寸及旋转等基本的图像处理操作。
from PIL import Image
from pylab import *
# 显示原图
pil_im = Image.open('../Pictures/04.jpg')
subplot(231)
title('original image')
axis('off') #不显示图像的坐标轴
imshow(pil_im)
# 显示灰度图
pil_im = Image.open('../Pictures/04.jpg').convert('L')
gray()
subplot(232)
title('gray image')
axis('off')
imshow(pil_im)
#拷贝粘贴区域
pil_im = Image.open('../Pictures/04.jpg')
box = (100,100,400,400)
region = pil_im.crop(box) #将图像拷贝到指定区域
region = region.transpose(Image.ROTATE_180) #对图像进行旋转变换
pil_im.paste(region,b