网站首页 > 技术文章 正文
P图,现代人交际的必备技能,但作为一名程序员,美图秀秀、PS、光影魔术手等虽然好用,但是总归不是在Ternimal终端完成的,显得有些不是太“程序员”。要是能像黑客一样,几行代码敲入,然后一溜的字符串从界面划过,这才显得厉害。
言归正传,其实现在AI修图也挺好用的,如果只是少量的去背景修图场景,还是用软件或ai操作起来比较方便,但如要修的图比较多,重复工作比较大的话。比如像UI设计、或者商品上架前的修图等,这时候用代码来搞定还是相对高效的。
这就要介绍到一个Python库:rembg库,它的github地址是:
https://github.com/danielgatis/rembg,目前Github 16.1K星,很受欢迎。
安装:
# 同时安装Python库和命令行
pip install rembg[cli]
命令行使用:
rembg的使用非常简单,它只有4个非常简单的参数。
- i for files (单个文件)
- p for folders (整个目录)
- s for http server (启动网络服务)
- b for RGB24 pixel binary stream
由于我们同时安装了Python库和命令行,先看下命令行如何操作:
rembg i path/to/input.png path/to/output.png // 一行搞定
网络服务:
启动一个网络服务,打开浏览器就能本地操作,也非常方便。
$ rembg s -p 9000
To access the API documentation, go to http://localhost:9000/api
To access the UI, go to http://localhost:9000
INFO: Started server process [12589]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:9000 (Press CTRL+C to quit)
......
Python使用:
from rembg import remove
input_path = 'input.png'
output_path = 'output.png'
with open(input_path, 'rb') as i:
with open(output_path, 'wb') as o:
input = i.read()
output = remove(input)
o.write(output)
总结:
除了默认的抠图模型,rembg还提供了非常多针对特定场景的抠图模型。所有模型均已下载并保存在用户主目录下的.u2net目录中,部分可用的模型包括:
- u2net:一个预训练模型,一般用途。
- u2net_human_seg:一个预训练模型,专为人像分割设计。
- u2net_cloth_seg:一个预训练模型,用于从人像中解析衣物。此模型可将衣物分为上身、下身和全身三类。
- isnet-general-use:一个新的预训练模型,一般用途。
- isnet-anime:针对动漫角色的高精度分割模型。
- birefnet-general:一个预训练模型,一般场景。
- birefnet-general-lite:一个轻量级的预训练模型,一般场景。
- birefnet-portrait:一个专为人像设计的预训练模型。
- birefnet-dis:一个预训练模型,用于二值图像分割(DIS)。
- birefnet-hrsod:一个预训练模型,用于高分辨率显著对象检测(HRSOD)。
- birefnet-cod:一个预训练模型,用于隐蔽物体检测(COD)。
- birefnet-massive:一个基于大规模数据集训练的预训练模型。
有兴趣的小伙伴可以试试哦。
猜你喜欢
- 2025-07-01 SQLAlchemy数据库框架 和数据库打交道好开心呢
- 2025-07-01 Python 之 turtle 画 033--《海贼王》~ 路飞的海贼旗简笔画
- 2025-07-01 30个小时搞定Python网络爬虫(全套详细版)
- 2025-07-01 别到处借会员了,这里啥都有!高清全免费
- 2025-07-01 8个python自学网站,一周就可以练熟Python,真的是是小白的福音
- 2025-07-01 python 字符串的定义和表示(python字符串怎么定义)
- 2025-07-01 Python爬虫,高清美图我全都要!爬取你想要的,嘿嘿嘿
- 2025-07-01 python中random的使用(random python怎么用)
- 2025-07-01 动漫服装怎么画?分解各种动漫服饰中的小单件绘画素材
- 2025-07-01 运行和执行Python程序(简述运行python的3种方法)
- 277℃Python短文,Python中的嵌套条件语句(六)
- 276℃python笔记:for循环嵌套。end=""的作用,图形打印
- 273℃PythonNet:实现Python与.Net代码相互调用!
- 268℃Python实现字符串小写转大写并写入文件
- 267℃Python操作Sqlserver数据库(多库同时异步执行:增删改查)
- 126℃原来2025是完美的平方年,一起探索六种平方的算吧
- 110℃Ollama v0.4.5-v0.4.7 更新集合:Ollama Python 库改进、新模型支持
- 107℃Python 和 JavaScript 终于联姻了!PythonMonkey 要火?
- 最近发表
-
- 假期苦短,我用Python!这有个自动回复拜年信息的小程序
- 第4天|16天搞定Python数据分析,图表,靓靓靓
- 60带源代码的Python项目之 08 使用 Python 生成 QR 码
- 用python3 实现生成二维码代码示例
- python批量生成二维码图片(python如何生成二维码)
- 使用python生成二维码(python生成二维码界面)
- Python制作二维码(python制作二维码小作业)
- Python 生成条形码、二维码 (Code 128、EAN-13、QR code等)
- python如何实现二维码的生成和识别
- Python 使用 JsonPath 完成接口自动化测试中参数关联和数据验证
- 标签列表
-
- python中类 (31)
- python 迭代 (34)
- python 小写 (35)
- python怎么输出 (33)
- python 日志 (35)
- python语音 (31)
- python 工程师 (34)
- python3 安装 (31)
- python音乐 (31)
- 安卓 python (32)
- python 小游戏 (32)
- python 安卓 (31)
- python聚类 (34)
- python向量 (31)
- python大全 (31)
- python次方 (33)
- python桌面 (32)
- python总结 (34)
- python浏览器 (32)
- python 请求 (32)
- python 前端 (32)
- python验证码 (33)
- python 题目 (32)
- python 文件写 (33)
- python中的用法 (32)