使用 Linux 命令从图像中删除背景
创始人
2024-03-02 15:17:38
0

Python 的力量使 Linux 上的图像编辑变得简单。

你有一张很棒的自己的照片,并想将其用于你的社交媒体资料,但背景让人分心。而另一张图片为你的个人资料图片提供了完美的背景。你如何将两者结合起来?一些智能手机应用可以进行这种照片处理,但价格太贵或充斥着广告软件。而且它们不是开源的。

Rembg 正适合于此。

Rembg 是用 Python 编写的,因此请在你的计算机上安装 Python 3。大多数 Linux 发行版默认包含 Python 3。你可以使用这个简单的命令检查你的版本:

$ python3 --version

Rembg 至少需要 Python 3.7 且不高于 Python 3.11。就我而言,我安装了 Python 3.10.6。

在 Linux 上安装 Rembg

我在我的 Linux 笔记本电脑上创建了一个名为 PythonCoding 的目录,然后创建了一个 Python 虚拟环境:

$ python3 -m venv /home/don/PythonCoding

接下来,我使用 pip 安装 rembg

$ python3 -m pip install rembg

合并图像

是时候施展魔法了。首先,我选择了 2019 年在 All Things Open 拍摄的照片。

为了方便起见,我运行了以下 rembg 命令以使用较短的文件名重命名它:

$ rembg i dgw_ato.jpeg dgw_noback.jpg

第一次运行 rembg 时,它会下载一个开源 模式识别模型。这可能超过 100 MB,并且 rembg 将它保存到 ~/.u2net/u2net.onnx 的用户目录中。该模型是 U-2-Net,并使用 Apache 2.0 许可证。有关模式识别模型的更多信息(包括如何训练你自己的模型),请阅读 Rembg 文档。

它在大约十秒钟内创建了我没有背景的新照片。我有一个带有 16 GB 内存的 Ryzen 7。你的体验可能因硬件而异。

A processed image of Don Watkins, with the background removed by Rembg.

过去我曾使用 GIMP 删除背景,但 rembg 比我使用 GIMP 时更快更彻底。

这就是删除背景的全部内容。如果添加一个新的呢?

添加新背景

接下来,我想给图片添加一个新的背景。有不同的方法可以做到这一点。例如,你可以使用 ImageMagick 组合图像,但获得正确的帧大小可能很复杂。最简单的方法是使用 GIMP 或 Krita

我使用 GIMP。首先,打开新创建的图像(在我的例子中是 ato_image.jpg)。现在转到 “ 文件 File ” 菜单并选择 “ 打开为图层 Open as layers ”。选择不同的背景图像。此图像作为现有照片的叠加层打开。

我想将新背景移到我的肖像下方。在 GIMP 窗口的右侧有两个缩略图,每个图像层一个。背景层在上面。我将背景层拖到肖像图像下方,结果如下:

Don Watkins with a new background.

这对我的个人资料照片来说是一个更好的设置!

尝试 Rembg

Rembg 有三个子命令,你可以在 --help 菜单中查看:

$ rembg --help

他们是:

  • rembg i 用于文件
  • rembg p 用于文件夹
  • rembg s 用于 HTTP 服务器

Rembg 使用 MIT 许可证发布。下次你需要从图像中删除背景时试试看。

(题图:MJ/blur background image lens in high resolution, very detailed, 8k)


via: https://opensource.com/article/23/4/image-editing-linux-python

作者:Don Watkins 选题:lkxed 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

苹果同意收购照片编辑应用开...
苹果想加强AI图像编辑能力,进一步打造苹果特色。 美东时间11月1...
2024-11-02 08:27:12
使用 Linux 命令从图...
Python 的力量使 Linux 上的图像编辑变得简单。你有一张...
2024-03-02 15:17:38
满足日常需求的应用(三):...
图像编辑器是许多人喜欢和需要的应用程序,从专业的设计师、学生,或那...
2024-03-02 08:28:41
Filmulator:一个...
Filmulator 是一个开源的具有库管理功能的 raw 照片编...
2024-03-02 06:46:21
Photoflare:满足...
Photoflare 是一款可用于 Linux 和 Windows...
2024-03-02 05:42:17
10 个 Python 图...
以下提到的这些 Python 工具在编辑图像、操作图像底层数据方面...
2024-03-02 02:13:11

热门资讯

使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
Bazzite:专为 Stea... 为 Linux 桌面或者 Steam Deck 做好游戏准备,听起来都很刺激!对于一个专为 Linu...
Motrix:一个漂亮的跨平台... 一个开源的下载管理器,提供了一个简洁的用户界面,同时提供了跨平台操作的所有基本功能。在这里了解关于它...
Bash 脚本中如何使用 he... here 文档 here document (LCTT 译注:here 文档又称作 heredoc ...
使用 dialog 和 jq ... 为何选择文字用户界面(TUI)?许多人每日都在使用终端,因此, 文字用户界面 Text User I...