导读:Python 的力量使 Linux 上的图像编辑变得简单。
Python 的力量使 Linux 上的图像编辑变得简单。
你有一张很棒的自己的照片,并想将其用于你的社交媒体资料,但背景让人分心。而另一张图片为你的个人资料图片提供了完美的背景。你如何将两者结合起来?一些智能手机应用可以进行这种照片处理,但价格太贵或充斥着广告软件。而且它们不是开源的。
Rembg🔗 github.com 正适合于此。
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 拍摄的照片。
Don Watkins at All Things Open conference
为了方便起见,我运行了以下 rembg 命令以使用较短的文件名重命名它:
$ rembg i dgw_ato.jpeg dgw_noback.jpg
第一次运行 rembg 时,它会下载一个开源 模式识别模型🔗 github.com。这可能超过 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🔗 opensource.com 删除背景,但 rembg 比我使用 GIMP 时更快更彻底。
这就是删除背景的全部内容。如果添加一个新的呢?
添加新背景
接下来,我想给图片添加一个新的背景。有不同的方法可以做到这一点。例如,你可以使用 ImageMagick🔗 opensource.com 组合图像,但获得正确的帧大小可能很复杂。最简单的方法是使用 GIMP 或 Krita🔗 opensource.com。
我使用 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🔗 github.com 许可证发布。下次你需要从图像中删除背景时试试看。
(题图: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中国 荣誉推出
LCTT 译者 :geekpi
💎💎💎💎
翻译: 1918.5 篇|
贡献: 3471 天
2013-10-25
→
2023-04-27
https://linux.cn/lctt/geekpi
欢迎遵照 CC-BY-SA 协议规定转载,
如需转载,请在文章下留言 “转载:公众号名称”,
我们将为您添加白名单,授权“转载文章时可以修改”。