图片处理基础

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()                # 垂直翻转
相关推荐
qing222222222 小时前
Linux中修改mac地址(重启后依然生效)
linux·服务器·macos
桦02 小时前
【Linux复习】:进程概念
linux·运维·服务器
Par@ish2 小时前
【局域网协议】通过ISE实现radius认证,AD 的TCP 3268端口在其中发挥什么作用
服务器·网络·tcp/ip
REDcker2 小时前
Linux ss 命令详解与 Netlink 原理
linux·运维·服务器
爱吃菠萝121382 小时前
实验室服务器远程访问终极方案:SSH 反向隧道 + systemd 自动重连
运维·服务器·ssh
小杰3123 小时前
ZLMediakit源码梳理
服务器·音视频·流媒体·zlmediakit
知秋贺3 小时前
如何在ubuntu24中,使用docker 运行ros2 humble版本
运维·docker·容器
Jocelyn_书3 小时前
Jenkins使用手册
运维·jenkins
吹晚风吧3 小时前
解决vite打包,base配置前缀,nginx的dist包找不到资源
服务器·前端·nginx