专栏/python-PIL简单处理图片

python-PIL简单处理图片

2022年01月17日 07:59--浏览 · --喜欢 · --评论
粉丝:16文章:11

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):高斯模糊(用的好就是马赛克)




投诉或建议