bg-remover
npx skills add https://github.com/wyq09/bg-remover --skill bg-remover
Agent 安装分布
Skill 文档
å¾çèæ¯ç§»é¤ Skill
ç¯å¢è¦æ±ä¸èªå¨ä¿®å¤
ç¯å¢è¦æ±
- Python 3.8 ææ´é«çæ¬
- pipï¼Python å 管çå¨ï¼
- rembg åº
ä¸é®èªå¨ä¿®å¤ç¯å¢
éè¦ï¼é¦æ¬¡ä½¿ç¨åï¼è¯·å è¿è¡ç¯å¢ä¿®å¤èæ¬ï¼
macOS / Linux:
cd ~/.claude/skills/bg-remover
./install.sh
Windows (PowerShell):
cd ~/.claude/skills/bg-remover
.\install.ps1
èæ¬ä¼èªå¨ï¼
- æ£æ¥ Python çæ¬ï¼é 3.8+ï¼
- æ£æ¥å¹¶å®è£ pip
- æ£æ¥å¹¶å®è£ rembg åº
- æµè¯ rembg åè½æ¯å¦æ£å¸¸
èªå¨ç¯å¢æ£æ¥
å½ç¨æ·ä½¿ç¨æ¤ skill æ¶ï¼å¦ææ£æµå°ç¯å¢ä¸ç¬¦åè¦æ±ï¼ç³»ç»ä¼èªå¨è¿è¡ä¿®å¤èæ¬ã
ç¯å¢æ£æ¥æ¸ åï¼
- Python 3.8+ å·²å®è£
- pip å¯ç¨
- rembg åºå·²å®è£ 并坿£å¸¸å¯¼å ¥
使ç¨åºæ¯
å½ç¨æ·è¯·æ±ä»¥ä¸ä»»ä½æä½æ¶ï¼ä½¿ç¨æ¤ skillï¼
- å»é¤å¾çèæ¯
- æ å¾
- ç§»é¤å¾çèæ¯
- çæéæèæ¯å¾ç
- å¾çèæ¯åéæ
- æ åºå¾çä¸ç人ç©/ç©ä½
- å¶ä½è¯ä»¶ç §ï¼å»é¤èæ¯ï¼
- 产åå¾å»èæ¯
工使µç¨
1. æ¥æ¶ç¨æ·è¾å ¥
ç¨æ·å¯è½æä¾ï¼
- æ¬å°å¾çæä»¶è·¯å¾
- å¾ç URL
- ç´æ¥ä¸ä¼ çå¾çæä»¶
2. å¤çå¾çèæ¯ç§»é¤
æ ¹æ®å¯ç¨èµæºï¼éæ©ä»¥ä¸æ¹æ³ä¹ä¸ï¼
æ¹æ³ Aï¼ä½¿ç¨ remove.bg APIï¼æ¨èï¼
å¦æç¨æ·æ remove.bg API å¯é¥ï¼
from removebg import RemoveBg
import os
# åå§å
removebg = RemoveBg("YOUR_API_KEY", "error.log")
# å¤çå¾ç
removebg.remove_background_from_img_file("input.jpg")
# è¾åºï¼input_no_bg.png
æ¹æ³ Bï¼ä½¿ç¨ rembg åºï¼æ¬å°å¤çï¼
使ç¨å¼æºç rembg åºè¿è¡æ¬å°å¤çï¼
from rembg import remove
from PIL import Image
# 读åå¾ç
input_path = "input.jpg"
output_path = "output.png"
# å¤ç
with open(input_path, "rb") as input_file:
input_data = input_file.read()
output_data = remove(input_data)
# ä¿åç»æ
with open(output_path, "wb") as output_file:
output_file.write(output_data)
æ¹æ³ Cï¼ä½¿ç¨å¨çº¿æå¡
å¯ä»¥ä½¿ç¨ä»¥ä¸å¨çº¿æå¡ï¼
- remove.bg
- PhotoRoom API
- Clipdrop (Remove Background)
- Adobe Firefly
3. è¾åºç»æ
åç¨æ·æä¾ï¼
- å¤çåçéæèæ¯ PNG å¾ç
- 对æ¯é¢è§ï¼åå¾ vs å¤çåï¼
- å¾çä¿åè·¯å¾æä¸è½½é¾æ¥
å®è£ ä¾èµ
# ä½¿ç¨ rembgï¼æ¨èï¼å
è´¹æ¬å°å¤çï¼
pip install rembg[gpu] # GPU å éçæ¬
# æ
pip install rembg # CPU çæ¬
# ä½¿ç¨ remove.bg API
pip install removebg
# ä½¿ç¨ rembg å½ä»¤è¡å·¥å
·
pip install rembg-cli
使ç¨ç¤ºä¾
ç¤ºä¾ 1ï¼åºæ¬æ å¾
ç¨æ·è¾å ¥ï¼
帮æå»é¤è¿å¼ å¾ççèæ¯ï¼photo.jpg
å¤çæ¥éª¤ï¼
- 读åå¾çæä»¶
- ä½¿ç¨ rembg å»é¤èæ¯
- ä¿å为 PNG æ ¼å¼
- æ¾ç¤ºå¤çç»æ
ç¤ºä¾ 2ï¼æ¹éå¤ç
ç¨æ·è¾å ¥ï¼
æè¿ä¸ªæä»¶å¤¹éçææå¾çé½å»é¤èæ¯
å¤çæ¥éª¤ï¼
- æ«ææä»¶å¤¹ä¸çææå¾ç
- é个å¤ç
- ä¿åå°è¾åºæä»¶å¤¹
ç¤ºä¾ 3ï¼URL å¾çå¤ç
ç¨æ·è¾å ¥ï¼
å»é¤è¿å¼ å¾ççèæ¯ï¼https://example.com/image.jpg
å¤çæ¥éª¤ï¼
- ä¸è½½å¾ç
- å¤çèæ¯
- è¿åç»æ
å½ä»¤è¡ä½¿ç¨ï¼rembgï¼
# åºæ¬ç¨æ³
rembg i input.jpg output.png
# å¤çæ´ä¸ªæä»¶å¤¹
rembg p input_folder/ output_folder/
# 使ç¨ä¸åç AI 模å
rembg i input.jpg output.png -m u2netp # è½»é级模å
rembg i input.jpg output.png -m u2net # æ 忍¡åï¼é»è®¤ï¼
rembg i input.jpg output.png -m silueta # 人åä¸ç¨
# æ·»å alpha mattingï¼è¾¹ç¼ä¼åï¼
rembg i input.jpg output.png -a
å¯ç¨æ¨¡å
rembg æ¯æä»¥ä¸æ¨¡åï¼
u2netï¼éç¨æ¨¡åï¼é»è®¤ï¼ï¼éå大夿°åºæ¯u2netpï¼è½»é级模åï¼é度快u2net_human_segï¼äººååå²ä¸ç¨siluetaï¼äººåä¸ç¨æ¨¡åisnet-general-useï¼æ°çéç¨æ¨¡å
注æäºé¡¹
- è¾å ¥æ ¼å¼ï¼æ¯æ JPGãPNGãWebP çå¸¸è§æ ¼å¼
- è¾åºæ ¼å¼ï¼å§ç»è¾åº PNG æ ¼å¼ï¼æ¯æéæééï¼
- å¾çè´¨éï¼è¾å ¥å¾çå辨çè¶é«ï¼æ 徿æè¶å¥½
- å¤æèæ¯ï¼å¤æèæ¯å¯è½éè¦æå¨åæè°æ´
- è¾¹ç¼å¤çï¼å¯¹äºç²¾ç»ç©ä½ï¼å¦å¤´åï¼ï¼å¯ä»¥ä½¿ç¨ alpha matting ä¼å
é«çº§é项
Alpha Mattingï¼è¾¹ç¼ä¼åï¼
对äºè¾¹ç¼å¤æçå¾çï¼å¯ç¨ alpha matting å¯ä»¥è·å¾æ´å¥½çè¾¹ç¼ææï¼
from rembg import remove, new_session
session = new_session("u2net", alpha_matting=True,
alpha_matting_foreground_threshold=240,
alpha_matting_background_threshold=10,
alpha_matting_erode_size=10)
è¿åé®ç½©
妿åªéè¦è·åé®ç½©èéå»é¤èæ¯çå¾çï¼
from rembg import remove
import io
input_data = open("input.jpg", "rb").read()
# only_mask=True åªè¿åé®ç½©
output_data = remove(input_data, only_mask=True)
é误å¤ç
常è§é®é¢åè§£å³æ¹æ¡ï¼
- å
åä¸è¶³ï¼ä½¿ç¨è½»é级模å
u2netpæç¼©å°å¾ç尺寸 - å¤çéåº¦æ ¢ï¼ä½¿ç¨ GPU çæ¬æè½»é级模å
- è¾¹ç¼ææä¸ä½³ï¼å¯ç¨ alpha matting
- è¯å«ä¸åç¡®ï¼å°è¯ä¸åçæ¨¡å
æä½³å®è·µ
- éæ©åéçæ¨¡åï¼äººåç¨äººå模åï¼éç¨ç¨ u2netï¼
- æ ¹æ®éæ±å¨é度åè´¨éé´éæ©ï¼u2netp å¿«ä½ç²¾åº¦ç¥ä½ï¼u2net æ ¢ä½ç²¾åº¦é«ï¼
- 对éè¦å¾çä½¿ç¨ alpha matting ä¼åè¾¹ç¼
- æ¹éå¤çæ¶èè使ç¨è½»é级模åæé«æç