Python 处理图片

 

使用PIL处理图片

 1. 图片对象基本处理

img = Image.open('./file/pic01.png')  # 加载图片对象
img.format  # 获取图片类型(后缀)
img.size  # 获取图片尺寸
img.mode  # 获取图片模式 如 RGB
img.info  # 获取图片信息字典

2. 改变图像的模式

img2 = img.convert('RGBA')

 

3.  新建图层

# 新建一个图层
# 模式为 'RGB'
# 尺寸大小为 (256, 256)
# 三通道颜色值为 (128, 128, 128)
im = Image.new('RGB', (256, 256), (128, 128, 128))

4.  图像复制&粘贴

# 新建图层 im1
im1 = Image.new('RGB', (256, 256), (128, 128, 128))
# 新建图层 im2
im2 = Image.new('RGB', (128, 128), (0, 28, 128))
# 复制一个图层 im3
im3 = im2.copy()
# #################################################
# 在图层 im1 上粘贴图层 im2
# 粘贴位置坐标为 (100, 100) -- 默认为左上角为原点O
im1.paste(im2, (100, 100))

4.1 拷贝图片区域box

Python 处理图片

box = (b1, a1, b2, a2)  # 确定拷贝区域坐标
box_copy = im.crop(box)  # 将im表示的图片对象拷贝到 box_copy 中, 大小为box

 

5. 分离出图像的各通道数据(元组)

# 假设 box_copy 的模式为 'RGB'
r, g, b = box_copy.split()
r.mode  # 分离后的模式都为 'L'
r.size  # 分离后size不变

6. 获取图像的非零坐标

# 假设图片 pic1.png 的尺寸为 (400, 400)
im = Image.open('./pic1.png')
im_tuple = im.getbbox()  # im_tuple 值为 (0, 0, 400, 400)

 

图像改变尺寸

 

 

 

 

图片保存

 

 

 

 

 

 

 

 

 

上一篇:java语言复制数组的四种方法


下一篇:【漏洞复现】Chrome 最新0day RCE