行政机关网站建设,滨海新区做网站,网站几个模板最好,网站建设 计划书我们日常生活中制作PPT等教学资源时#xff0c;需要批量去除图片背景#xff0c;就可以使用 Python 的 rembg 库。
这个库基于神经网络模型#xff0c;去背景效果较好#xff0c;可以批量处理png, jpg, jpeg等图片。采用以下代码可以批量处理当前目录下的所有图片#xf…我们日常生活中制作PPT等教学资源时需要批量去除图片背景就可以使用 Python 的 rembg 库。
这个库基于神经网络模型去背景效果较好可以批量处理png, jpg, jpeg等图片。采用以下代码可以批量处理当前目录下的所有图片去除背景后并保存为透明背景的图像存在output当中。
一、安装rembg库
不过使用前需要在cmd下或者pycharm, thonny等pyhon的idle调试工具中安装一下这个rembg库安装代码
pip install rembg
二、下载u2net.onnx机器学习模型
安装完成rembg模块后第一次运行程序调用这个模块还需要安装机器学习模型u2net.onnx大小为176M程序会自动下载全程不需要干涉。 下载机器学习模型
这个模型文件 (u2net.onnx) 是经过训练的深度学习模型包含了用于识别并分离前景和背景的算法权重。rembg 库使用 U2-Net 来执行背景去除的任务。第一次使用 rembg 时库会自动下载这个模型文件以确保能够正确运行背景去除功能。
具体来说模型文件 u2net.onnxU2-Net 模型是一个开源的图像分割模型专门用于前景-背景分离。rembg 使用这个模型的 .onnx 文件格式方便兼容各种框架。
由于rembg 没有默认包含该模型文件因此在第一次运行时需要下载并存储在本地C:\Users\用户名\.u2net\u2net.onnx下载完成后模型文件会保存在你用户目录的 .u2net 文件夹中后续运行 rembg 就不需要重新下载。
三、编写清除图片背景代码
下载完成后程序会自动运行清除背景的程序如下面的程序批量把当前目录下的图片文件移除背景设置透明背景后存在output文件夹下面全程操作非常的快。
import os
from rembg import remove
from PIL import Image# 定义输入和输出文件夹
input_folder . # 当前目录
output_folder ./output/ # 输出文件夹# 创建输出文件夹如果不存在
# if not os.path.exists(output_folder):
os.makedirs(output_folder,exist_okTrue)# 遍历当前目录的所有文件
for filename in os.listdir(input_folder):# 检查是否为图像文件可以添加更多格式if filename.lower().endswith((.png, .jpg, .jpeg)):input_path os.path.join(input_folder, filename)output_path os.path.join(output_folder, filename.split(.)[0] _no_bg.png)# 打开图像并去除背景with open(input_path, rb) as input_file:input_image input_file.read()output_image remove(input_image)# 将结果保存为 PNG 格式with open(output_path, wb) as output_file:output_file.write(output_image)print(图片背景已去除并保存到 output 文件夹。)
input_folder 指定输入文件夹这里设为当前目录 ./。
output_folder 是输出文件夹去除背景后的图片保存位置如果不存在则会自动创建。
脚本遍历当前目录中的所有图像文件.png, .jpg, .jpeg去除背景后以透明背景 PNG 格式保存到 output 文件夹中。
四、效果对比
以下是清除背景前后的效果对比怎么样还算不错吧
清除背景前 清除背景后 五、学后总结
Python像瑞士军刀一样几乎无所不能尤其是在办公自动化、批量处理上更是有先天的优势。更为重要的是学习生态也很好大语言模型背后很多时候就是在用python来操作所以从现在起立一个小小的flag学起来天长日久必有所获。