图片处理基础

1图像混合与遮罩

1.1 线性混合(Blend)

python 复制代码
from PIL import Image
​
im1 = Image.open("kfc-1.jpg").convert("RGB")
im2 = Image.new("RGB", im1.size, color="green")  # 纯绿色图
​
blend = Image.blend(im1, im2, alpha=0.5)         # alpha=0.0--1.0
blend.show()

1.2 遮罩合成(Composite)

python 复制代码
from PIL import Image
​
im1 = Image.open("kfc-1.jpg").convert("RGB")
im2 = Image.open("kfc-2.jpg").convert("RGB").resize(im1.size)
构造掩膜:这里用 im1 的 R 通道做掩膜
r, g, b = im1.split()
composite = Image.composite(im2, im1, mask=r)  # mask:灰度图
composite.show()

2 缩放、裁剪、旋转与镜像

python 复制代码
from PIL import Image
​
im = Image.open("kfc-1.jpg")
​
# 缩放 (保持比例)
im.thumbnail((200, 200))  
im.show()
​
# 裁剪 (左、上、右、下)
crop = im.crop((10, 10, 110, 110))
crop.show()
​
# 旋转与镜像
im.rotate(90, expand=True).show()                         # 顺时针90°,expand=True 保持完整
im.transpose(Image.FLIP_LEFT_RIGHT).show()                # 水平翻转
im.transpose(Image.FLIP_TOP_BOTTOM).show()                # 垂直翻转
相关推荐
叶帆21 小时前
【YFIOs】Docker方式部署
运维·docker·容器
小猿姐21 小时前
Clickhouse Kubernetes Operator 实测:哪种方案更适合生产?
运维·数据库·kubernetes
彩色的黑'''1 天前
[root@localhost ~]#,Linux系统的命令提示符为啥现在变成-bash-4.2#了,哪里设置的
linux·运维·bash
树下水月1 天前
文件分片上传接口(Easyswoole)被nginx拦截,并返回状态码400和408的抓包排查过程
运维·nginx
源远流长jerry1 天前
Linux 网络发送机制深度解析:从应用到网线
linux·服务器·网络·网络协议·tcp/ip
南境十里·墨染春水1 天前
linux学习进展 shell编程
linux·运维·学习
goyeer1 天前
【ITIL4】32服务实践 - 问题管理(Problem Management)
linux·运维·服务器·企业数字化·it管理·itil·it治理
cen__y1 天前
Linux11(网络编程)
linux·运维·服务器·c语言·网络·网络协议·tcp/ip
CableTech_SQH1 天前
商业地产和高端酒店该怎么选综合布线解决方案?
运维·服务器·网络
Y\1 天前
VMware虚拟机已断开连接解决方法(二)
服务器