了解如何使用令人敬畏的 Rembg python 库通过机器学习去除任何图像的背景。
文章图片
如何使用Rembg去除图片的背景?在本文中,我将向你解释如何轻松安装和配置 Python 的 Rembg 库以从图像中删除背景。
1. 安装 PyTorch【如何使用Rembg机器学习去除图片的背景()】如果你使用的是 anaconda,则可以使用以下命令安装 Pytorch(你可以按照本教程学习如何安装 Anaconda,以防万一你没有安装它并想使用它):
conda install pytorch torchvision torchaudio cpuonly -c pytorch
或者,你可以使用 pip 和以下命令安装 Pytorch:
pip install torch==1.7.1+cpu torchvision==0.8.2+cpu -f https://download.pytorch.org/whl/torch_stable.html
注意:对于本教程和 github 存储库中的解释,我们使用 Pytorch 作为 CPU。如果服务器中有可用的图形卡,则可以安装支持 CUDA 的 Pytorch。有关 Pytorch 的更多信息,请访问这里的官方网站。
2.安装RemBG如何去除图片中的背景?RemBG 是一种去除任何图像背景的工具。该库在底层使用 U2-Net 进行模式识别(“ U^2-Net: Going Deeper with Nested U-Structure for Salient Object Detection. ”)。要在你的系统中安装此软件包,请使用 pip:
pip install rembg
有关这个很棒的开源工具的更多信息,请在此处访问 Github 上的官方存储库。
3. 使用库安装 Rembg 库后,你将能够直接从命令行或在简单的 Python 脚本中进行选择。请注意,第一次运行时,模型将被下载,因此需要一段时间,一旦完成,背景去除不会对每个图像花费那么多。Rembg 将在你的环境中全局可用。
通过 CLI 删除背景
如何使用Rembg去除图片的背景?测试库是否正常工作的最快方法是简单地使用远程图像,以下命令将使用 Julian Casablancas 的 Wikipedia 图像:
curl -s https://upload.wikimedia.org/wikipedia/commons/thumb/e/ec/Julian_Casablancas_%40_Lollapalooza_2014_%2813657827913%29.jpg/440px-Julian_Casablancas_%40_Lollapalooza_2014_%2813657827913%29.jpg | rembg > output.png
生成的
output.png
将如下所示(参考原始图像):文章图片
[
W NNPACK.cpp:79] Could not initialize NNPACK! Reason: Unsupported hardware.
但是你可以忽略它,因为输出图像不再有背景。如果你需要删除上述警告,你可能需要从源代码编译 Pytorch 并禁用 NNPack 支持。你当然可以对本地图像执行相同的操作:
rembg -o ./output-image.png ./input-image.jpg
在 Python 脚本中使用库
如何去除图片中的背景?你也可以将库与将其嵌入到脚本中的管道一起使用。例如,以下脚本将执行与前一个示例相同的操作,取一个本地文件并创建没有背景的版本:
# example.py
from rembg.bg import remove
import numpy as np
import io
from PIL import Image# Uncomment the following lines if working with trucated image formats (ex. JPEG / JPG)
# In my case I do give JPEG images as input, so i'll leave it uncommented
from PIL import ImageFile
ImageFile.LOAD_TRUNCATED_IMAGES = Trueinput_image = 'input-image.jpg'
output_image = 'output-image.png'f = np.fromfile(input_image)
result = remove(f)
img = Image.open(io.BytesIO(result)).convert("RGBA")
img.save(output_image)
试一试,开始使用这个奇妙的工具自动去除图像的背景!
快乐编码??!
推荐阅读
- 如何创建自定义SVG图标系统(使用FontAwesome、Linearicons等)
- 10个最佳Android相册和图库选择器库合集
- 7个最佳创建优雅代码截图的在线工具合集
- 5个最佳免费GeoIP数据库合集(哪个最好())
- 5个最佳开源日期范围选择器合集介绍
- 5个最佳Python开源关键字提取库合集介绍
- 如何使用JavaScript轻松生成Beep(通知)声音()
- 如何解决Windows打字延迟问题(分步指南)
- 如何在Windows 10中设置环绕声(分步指南)