Python 简易背景抠图方案实践与探索
背景介绍
在日常数据处理或可视化工作中,我们经常需要从截图中提取特定元素。例如,从某 APP 中截取背单词曲线后,发现其中蕴藏的数学规律:每六个月达到一次峰值,且高度不断减小。为了在图上画一条线来拟合这个折线,我尝试使用 MATLAB 绘制了正弦函数受衰减指数函数调制的图像。

但问题来了,我不知道怎么把这两个图贴在一起,需要把 MATLAB 绘制的曲线从白色背景中抠出来。联想到曾经用 Excel 抠二维码的操作,我觉得有必要进化一下我的抠图技能,利用 Python 实现自动化处理。
环境准备
本方案主要依赖 Python 的标准库和图像处理库 Pillow(PIL 的分支)。
pip install Pillow
确保已安装 Python 3.x 环境,并配置好开发工具。
纯色背景抠图
从原理上讲,从简单纯色背景中把图案抠出来,无非就是对每一个像素点检查它的颜色。如果是背景色就把透明度变成 0,否则保留。这是非常容易实现的。
代码实现
from PIL import Image
# 读取图片
im = Image.open('SaoMaYouJingXi.jpg')
# 转化成 RGBA(RGB+透明度)格式
im = im.convert('RGBA')
pix = im.load()
width, height = im.size
for x in range(width):
for y in range(height):
r, g, b, a = pix[x, y]
# 判断是否为白色背景(这里设定阈值)
if (r > 100) and (g > 100) and (b > 100):
a = 0 # 透明度改成 0
im.putpixel((x, y), (r, g, b, a))
im.save("SaoMaYouJingXi.PNG")
效果展示
小试牛刀,放大了看也干净利索。














