使用 Linux 命令從圖像中刪除背景
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。你的體驗可能因硬體而異。
過去我曾使用 GIMP 刪除背景,但 rembg
比我使用 GIMP 時更快更徹底。
這就是刪除背景的全部內容。如果添加一個新的呢?
添加新背景
接下來,我想給圖片添加一個新的背景。有不同的方法可以做到這一點。例如,你可以使用 ImageMagick 組合圖像,但獲得正確的幀大小可能很複雜。最簡單的方法是使用 GIMP 或 Krita。
我使用 GIMP。首先,打開新創建的圖像(在我的例子中是 ato_image.jpg
)。現在轉到 「 文件 」 菜單並選擇 「 打開為圖層 」。選擇不同的背景圖像。此圖像作為現有照片的疊加層打開。
我想將新背景移到我的肖像下方。在 GIMP 窗口的右側有兩個縮略圖,每個圖像層一個。背景層在上面。我將背景層拖到肖像圖像下方,結果如下:
這對我的個人資料照片來說是一個更好的設置!
嘗試 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
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive