1.简介
PIL是Python图像处理库,现在常说的pil指的是Pillow
import PIL
2.image类
format:返回图像格式(PNG...),如果图像不是从文件读取,则返回None
mode:返回图像的模式,常用模式:
size:是一个二元tuple,包含width和height(单位是px)
info:info信息,返回/设置图像一些额外信息,一个字典结构对象
示例代码:
im = Image.open('1.jpg') # 打开图片
print(im.size) # 得到图片大小
print(im.format) # 图片格式
print(im.mode) # 图片色彩模式
print(im.palette) # 返回ImagePalette实例
print(im.info) # 实例信息
im.shou() # 打开并查看图片
3.裁剪图片
Image.crop()
图片左上角为坐标原点,取一个元组,元组包括(左,上,右,下),这是裁剪后保存的部位
select = (0,50,0,50)
new = Image.crop(select)
new.show()
这样就会根据设定的元组取裁剪图片
4.几何变换:
a = Image.open('1.png')
new = a.resize((50, 50)) # 设置图片大小
new = a.rotate(45) # 顺时针旋转45°
new = a.transpose(methed) # 翻转,旋转图像,method取值:
FLIP_LEFT_RIGHT 左右颠倒
FLIP_TOP_BOTTOM 上下颠倒
ROTATE_90 旋转90°
ROTATE_180 旋转180°
5.保存/转换图片格式
a = Image.open('1.png')
a.save('1.jpg') # 图片转换成.jpg格式并保存
6.彩色变黑白
a = Image.open('1.png')
b = a.convert('L') # 彩色变黑白
7.粘贴图片
a = Image.open('1.png')
w, h = a.size # 获取大小
right = a.crop((w//2,0,w, h)) # 剪切图片右半部分
left = im.crop((0,0,w//2, h)) # 剪切图片左半部分
a.paste(left, (w//2,0,w, h)) # 把现有右半部分粘到左边
a.paste(right, (0,0,w//2,h)) # 把现有左半部分粘到右边
a.show()
将一个图片一份两半,左右部分调换
a.paste(colour, box) 可以把颜色填充到对应的区域:
a.paste((1, 149, 200), (w//4, h//4 ,w*3//4, h*3//4))
a.show()
将图片中间一个长方形区域填充为蓝色
8.更改图像滤波(滤镜/更改效果)
a = Image.open('1.png')
b = a.filter(ImageFilter.BLUR)
b.show()
ImageFilter中包含的方法:
BLUR:模糊滤波
CONTOUR:轮廓滤波(铅笔画)
DETAIL:细节滤波
EDGE_ENHANCE_MORE:边界增强滤波(程度更深)
EMBOSS:浮雕滤波(浮雕效果)
FIND_EDGES:寻找边界滤波
SMOOTH:平滑滤波
SMOOTH_MORE:平滑滤波(程度更深)
SHARPEN:锐化滤波
GaussianBlur(radius=2):高斯模糊(用的好就是马赛克)