图片处理基础-下

通道分离与滤镜

python 复制代码
from PIL import Image, ImageFilter
​
im1 = Image.open("kfc-1.jpg")
im2 = Image.open("kfc-2.jpg").resize(im1.size)
​
# 通道分离与重组
r1, g1, b1 = im1.split()
r2, g2, b2 = im2.split()
merged = Image.merge("RGB", (r1, g2, b1))  # R 来自 im1,G 来自 im2,B 来自 im1
merged.show()
​```
# 应用滤镜
```python
blur = im1.filter(ImageFilter.GaussianBlur(radius=5))
blur.show()

数学合成运算(ImageChops)

python 复制代码
from PIL import Image, ImageChops
​
im1 = Image.open("kfc-1.jpg")
im2 = Image.open("kfc-2.jpg").resize(im1.size)
​
# 加法:加亮叠加区域
ImageChops.add(im1, im2).show()
​
# 减法:突出差异
ImageChops.subtract(im1, im2).show()
​
# 取暗 / 取亮
ImageChops.darker(im1, im2).show()
ImageChops.lighter(im1, im2).show()
​
# 反相
ImageChops.invert(im1).show()
​
# 差异
ImageChops.difference(im1, im2).show()

色彩与亮度增强

python 复制代码
from PIL import Image, ImageEnhance
​
im = Image.open("kfc-1.jpg")
​
# 色彩增强(彩度)
enhancer = ImageEnhance.Color(im)
enhancer.enhance(2.0).show()   # >1 提升彩度,<1 降低彩度
​
# 亮度增强
enhancer = ImageEnhance.Brightness(im)
enhancer.enhance(1.5).show()   # >1 更亮,<1 更暗
​
# 对比度增强
enhancer = ImageEnhance.Contrast(im)
enhancer.enhance(1.8).show()

绘制基本图形与文本

python 复制代码
from PIL import Image, ImageDraw, ImageFont
​
# 新建画布
canvas = Image.new("RGB", (300, 200), color="white")
draw = ImageDraw.Draw(canvas)
​
# 绘制矩形、椭圆、线条
draw.rectangle((20, 20, 120, 80), outline="red", fill="blue")
draw.ellipse((150, 20, 280, 100), outline="green", fill=None)
draw.line((0, 199, 299, 0), fill="black", width=2)
​
# 绘制文字
font = ImageFont.truetype("arial.ttf", size=24)
draw.text((30, 120), "Hello, Pillow!", font=font, fill="purple")
​
canvas.show()

ImageDraw.Draw:所有绘制动作都发生在同一个 canvas 上;

文字需要指定 ImageFont.truetype 字体文件;

相关推荐
凌云拓界1 分钟前
文件管理:让AI安全操作你的电脑 ——CogitoAgent开发实战(三)
javascript·人工智能·架构·开源·node.js
火山引擎开发者社区2 分钟前
Viking AI 搜索 CLI 正式发布:会说话,就能做搜索推荐
人工智能
探物 AI3 分钟前
把 MambaOut 塞进 YOLOv11:会有什么样的反应
python·yolo·计算机视觉
云烟成雨TD11 分钟前
Spring AI 1.x 系列【51】可观测性技术选型
java·人工智能·spring
unicrom_深圳市由你创科技18 分钟前
基于Spring AI框架的RAG应用
人工智能·spring·机器学习
凌云拓界31 分钟前
联网能力:让AI看见更广阔的世界 ——CogitoAgent开发实战(四)
javascript·人工智能·架构·node.js·创业创新
机器人零零壹35 分钟前
南京越擎科技iRobotCAM:探索国产机器人离线编程工业软件的破局与赶超
人工智能·机器人·工业软件·离线编程·irobotcam
Cosolar42 分钟前
保姆级 CrewAI 教程:从零构建多智能体协作系统
人工智能·python·架构
树上有只程序猿1 小时前
主流低代码管理平台深度解析(最新)
人工智能·低代码·软件开发·软件需求
宅小年1 小时前
你不会输给 AI,只会输给更会用 AI 的人
人工智能