Skip to main content

适用于nonebot2 v11的基于trace.moe的动画截图场景追溯插件

Project description

NoneBotPluginLogo

NoneBotPluginText

nonebot_plugin_remove_bg

✨ NoneBot 基于remove.bg的图片背景消除插件 ✨

GitHub stars GitHub issues GitHub forks license pypi python

适用于nonebot2 v11的基于remove.bg的图片背景消除插件
调用的相关API源自:https://www.remove.bg/api#api-reference

🔧 开发环境

Nonebot2:2.0.0b5
python:3.8.13
操作系统:Windows10(Linux兼容性问题不大)
编辑器:pycharm

💿 安装

环境依赖aiohttp

1. nb-cli安装(推荐)

在你bot工程的文件夹下,运行cmd(运行路径要对啊),执行nb命令安装插件,插件配置会自动添加至配置文件

nb plugin install nonebot_plugin_remove_bg

2. 本地安装

先安装下 aiohttp

pip install aiohttp

将项目clone到你的机器人插件下的对应插件目录内(一般为机器人文件夹下的src/plugins),然后把nonebot_plugin_remove_bg文件夹里的内容拷贝至上一级目录即可。
clone命令参考(得先装git,懂的都懂):

git clone https://github.com/Ikaros-521/nonebot_plugin_remove_bg.git

也可以直接下载压缩包到插件目录解压,然后同样提取nonebot_plugin_remove_bg至上一级目录。
目录结构: 你的bot/src/plugins/nonebot_plugin_remove_bg/__init__.py

3. pip安装

pip install nonebot_plugin_remove_bg

打开 nonebot2 项目的 bot.py 文件, 在其中写入
nonebot.load_plugin('nonebot_plugin_remove_bg')
当然,如果是默认nb-cli创建的nonebot2的话,在bot路径pyproject.toml[tool.nonebot]plugins中添加nonebot_plugin_remove_bg即可
pyproject.toml配置例如:

[tool.nonebot]
plugin_dirs = ["src/plugins"]
plugins = ["nonebot_plugin_remove_bg"]

更新版本

nb plugin update nonebot_plugin_remove_bg

🔧 配置

env配置

# nonebot_plugin_remove_bg 官方API KEY
REMOVE_BG_API_KEY="XXXXXXXXXXXXXXXXXXXXXXXX"
配置项 必填 默认值 说明
REMOVE_BG_API_KEY `` 注册官方账号申请API KEY(每月50次免费额度)

API KEY获取方式

访问https://www.remove.bg/api#remove-background,注册账号,然后点击Get API Key -> New API Key -> Create API Key

🎉 功能

基于remove.bg,上传图片调用API消除背景后返回处理后的图片

👉 命令

①默认配置的背景消除

1、先发送命令,再发送图片(命令前缀请自行替换)

先发送/去背景/rm_bg,等bot返回请发送需要去除背景的图片喵~后,发送需要去除背景的图片即可。

2、命令+图片

编辑消息/去背景[待去除背景的图片]/rm_bg[待去除背景的图片]发送即可。
bot返回内容:

3、回复图片+命令

回复需要处理的图片,然后追加命令/去背景/rm_bg发送即可。

②自定义配置的背景消除

1、命令+图片

命令如下(命令前缀自行添加):

自定义去背景 -img <IMAGE> [-s --size -最大输出分辨率 <最大输出图像分辨率 'preview/full/auto'>] [-t --type -前景类型 <前景类型 'auto/person/product/car'>] [-tl --type_level -前景类型级别 <检测到的前景类型的分类级别 'none/1/2/latest'>]\n [-r --roi -感兴趣区域 <感兴趣区域 x1 y1 x2 y2,如'0% 0% 100% 100%'>] [-c --crop -裁剪空白区 <是否裁剪掉所有空白区域 'true/false'>] [-p --position -定位主题 <在图像画布中定位主题 'center/original/从“0%”到“100%”的一个值(水平和垂直)或两个值(水平、垂直)'>]\n [-sc --scale -缩放主体 <相对于图像总尺寸缩放主体 从“10%”到“100%”之间的任何值,也可以是“original”(默认)。缩放主体意味着“位置=中心”(除非另有说明)。>] [-ad --add_shadow -人工阴影 <是否向结果添加人工阴影 'true/false'>] [-se --semitransparency -半透明区域 <结果中是否包含半透明区域 'true/false'>]

命令起始:自定义去背景remove_bg
-img 必选参数,后面追加<IMAGE>图片(回复的话,图片就不用了)
-s 可选参数 -s可以改成 --size-最大输出分辨率,含义是最大输出图像分辨率,传参内容是'preview/full/auto'(3选1)
其他的[]都是可选参数,含义和-s相同,不再赘述。

例如:

/自定义去背景 -img <IMAGE> -s 'preview'
/remove_bg -img <IMAGE> -s 'full' -r '30% 30% 60% 60%' -ad 'true'
/自定义去背景 -图片 <IMAGE> -最大输出分辨率 'preview' -前景类型 'person' -前景类型级别 '1' -感兴趣区域 '0% 0% 100% 100%' -裁剪空白区 'true' -定位主题 'center' -缩放主体 '50%' -人工阴影 'false'  -半透明区域 'false'

2、回复图片+命令

命令与上面相同,注意必选参数-img,不要忘记了。

3、自定义去背景帮助

获取命令的帮助说明命令为自定义去背景帮助自定义去背景help
例如:

/自定义去背景帮助
/自定义去背景help

⚙ 拓展

修改__init__.py中的catch_str等来自定义命令触发关键词。
代码实现缝合怪,感觉很kuso,待优化(大坑)

📝 更新日志

展开/收起

0.0.1

  • 插件初次发布

0.0.2

  • 向上兼容rc2

0.1.0

  • 修改原 remove_bg命令至 自定义去背景 功能(采用shell cmd的形式)。
  • 原 rm_bg 和 去背景 命令,增加可以直接回复图片进行处理。

0.1.1

  • 修复 私聊bot无法正常运行的bug

0.1.2

  • 插件补充元信息

0.2.0

  • 针对群聊自动黑底问题,改为1帧gif(不过还是有黑边,绷不住了)

致谢

项目打包上传至pypi

官网:https://pypi.org,注册账号,在系统用户根目录下创建`.pypirc`,配置

[distutils] 
index-servers=pypi 
 
[pypi] repository = https://upload.pypi.org/legacy/ 
username = 用户名 
password = 密码

poetry

# 参考 https://www.freesion.com/article/58051228882/
# poetry config pypi-token.pypi

# 1、安装poetry
pip install poetry

# 2、初始化配置文件(根据提示填写)
poetry init

# 3、微调配置文件pyproject.toml

# 4、运行 poetry install, 可生成 “poetry.lock” 文件(可跳过)
poetry install

# 5、编译,生成dist
poetry build

# 6、发布(poetry config pypi-token.pypi 配置token)
poetry publish

twine

# 参考 https://www.cnblogs.com/danhuai/p/14915042.html
#创建setup.py文件 填写相关信息

# 1、可以先升级打包工具
pip install --upgrade setuptools wheel twine

# 2、打包
python setup.py sdist bdist_wheel

# 3、可以先检查一下包
twine check dist/*

# 4、上传包到pypi(需输入用户名、密码)
twine upload dist/*

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nonebot_plugin_remove_bg-0.2.0.tar.gz (10.5 kB view hashes)

Uploaded Source

Built Distribution

nonebot_plugin_remove_bg-0.2.0-py3-none-any.whl (10.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page