本文目录导读:

使用 remove.bg API(最简单)
import requests
def remove_bg_api(image_path, api_key):
url = 'https://api.remove.bg/v1.0/removebg'
with open(image_path, 'rb') as file:
response = requests.post(
url,
files={'image_file': file},
data={'size': 'auto'},
headers={'X-Api-Key': api_key},
)
if response.status_code == 200:
with open('output.png', 'wb') as out:
out.write(response.content)
return True
return False
# 使用
remove_bg_api('input.jpg', 'YOUR_API_KEY')
使用 rembg 库(本地处理)
from rembg import remove
from PIL import Image
def remove_bg_rembg(input_path, output_path):
with open(input_path, 'rb') as i:
input_data = i.read()
output_data = remove(input_data)
with open(output_path, 'wb') as o:
o.write(output_data)
# 安装:pip install rembg
# 使用
remove_bg_rembg('input.jpg', 'output.png')
使用 OpenCV (传统方法)
import cv2
import numpy as np
def remove_bg_opencv(image_path, output_path):
# 读取图片
img = cv2.imread(image_path)
# 转换到HSV颜色空间
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
# 定义背景颜色范围(这里假设背景是白色)
lower = np.array([0, 0, 200])
upper = np.array([180, 30, 255])
# 创建掩码
mask = cv2.inRange(hsv, lower, upper)
# 反转掩码(保留前景)
mask = cv2.bitwise_not(mask)
# 应用掩码
result = cv2.bitwise_and(img, img, mask=mask)
# 保存结果(PNG格式保留透明通道)
cv2.imwrite(output_path, result, [cv2.IMWRITE_PNG_COMPRESSION, 0])
# 使用
remove_bg_opencv('input.jpg', 'output.png')
使用 TensorFlow DeepLab (深度学习)
import tensorflow as tf
import numpy as np
from PIL import Image
def remove_bg_deeplab(image_path, output_path):
# 加载预训练模型
model = tf.saved_model.load('deeplab_model')
# 读取图片
img = Image.open(image_path)
img_array = np.array(img)
# 预处理
input_tensor = tf.convert_to_tensor(img_array)
input_tensor = tf.expand_dims(input_tensor, 0)
# 预测
result = model(input_tensor)
# 处理结果
mask = result['semantic_map'][0]
mask = np.array(mask)
# 创建透明背景
rgba = np.dstack((img_array, mask * 255))
# 保存
Image.fromarray(rgba).save(output_path)
批量处理脚本
import os
from glob import glob
from rembg import remove
def batch_remove_bg(input_folder, output_folder):
# 创建输出文件夹
os.makedirs(output_folder, exist_ok=True)
# 获取所有图片
for img_path in glob(os.path.join(input_folder, '*.[pj][np]g')):
filename = os.path.basename(img_path)
output_path = os.path.join(output_folder, f'no_bg_{filename}')
with open(img_path, 'rb') as i:
with open(output_path, 'wb') as o:
o.write(remove(i.read()))
print(f'Processed: {filename}')
# 使用
batch_remove_bg('input_images/', 'output_images/')
安装依赖
# 方法2 pip install rembg pillow # 方法3 pip install opencv-python numpy # 方法4 pip install tensorflow pillow numpy
使用方法建议
- 快速简单:使用 remove.bg API(需要网络和API密钥)
- 本地免费:使用 rembg 库(效果不错,速度较慢)
- 批量处理:使用批量脚本
- 特定背景:使用 OpenCV 方法(适合简单背景)
选择哪种方法取决于你的具体需求:是否需要联网、处理速度要求、背景复杂度等。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播