赞
踩
在读取图像时,我们可以使用PIL(Python Imaging Library, 图像处理类库)中的函数进行操作,PIL中最重要的模块为Image,要读取一幅图像,我们可以使用Image.open进行操作。
from PIL import Image
pil_im = Image.open('./pic.jpg')
pil_im.show()
运行结果:
若要对读取的图像进行颜色转换,则可以通过convert()方法实现,比如我们要将读取的图像转换为灰度图,则只需加上convert(‘L’)。
pil_im = Image.open('./pic.jpg').convert('L') #转化为灰度图
pil_im.show()
运行结果:
使用PIL同样可以方便的创建图像的缩略图,只需使用thumbnail()方法,再添加参数指定生成缩略图的大小。
#创建缩略图
pil_im = Image.open('./pic.jpg')
pil_im.thumbnail((128,128))
pil_im.show()
运行结果:
若要对图像中的指定区域进行裁剪,则需使用crop()方法,我们通过四元组来指定需裁剪的区域,四元组坐标依次为(左,上,右,下),在PIL中指定坐标系的左上角坐标为(0,0),在裁剪完指定区域后,我们可以将该区域进行旋转然后用paste()方法粘贴回原处。
#复制和粘贴图像区域
pil_im = Image.open('./pic.jpg')
box=(100,100,400,400)
region = pil_im.crop(box) #使用crop函数进行裁剪
# region.show()
region = region.transpose(Image.ROTATE_180)#将所裁剪区域进行旋转
pil_im.paste(region,box)#粘贴回原区域
# region.show()
pil_im.show()
运行结果:
若要将整幅图像进行尺寸的调整,则需使用resize()方法,填写参数即可将图像调整至所需大小,而要旋转图像,则可以使用rotate()方法,该方法是使用逆时针方式进行旋转。
# 调整尺寸和旋转
# 采用resize方法进行尺寸调整
pil_im = Image.open('./pic.jpg')
out = pil_im.resize((128,128))
figure()
subplot(121)
axis('off')
title(r'resize')
imshow(out)
out = pil_im.rotate(45)#用rotate方法进行旋转(逆时针)
subplot(122)
axis('off')
title(r'rotate')
imshow(out)
show()
运行结果:
PIL提供了通用的图像处理功能,但当我们需要自定义绘制图表时,则需用到Matplotlib,该类库具有比PIL更强大的绘图功能。
from PIL import Image
from pylab import *
from numpy import *
#绘制图像、点和线
im = array(Image.open('./pic.jpg'))
#绘制图
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。