mirror of
https://github.com/LCTT/TranslateProject.git
synced 2025-01-28 23:20:10 +08:00
108 lines
4.6 KiB
Markdown
108 lines
4.6 KiB
Markdown
[#]: subject: "Remove the background from an image with this Linux command"
|
|
[#]: via: "https://opensource.com/article/23/4/image-editing-linux-python"
|
|
[#]: author: "Don Watkins https://opensource.com/users/don-watkins"
|
|
[#]: collector: "lkxed"
|
|
[#]: translator: " "
|
|
[#]: reviewer: " "
|
|
[#]: publisher: " "
|
|
[#]: url: " "
|
|
|
|
Remove the background from an image with this Linux command
|
|
======
|
|
|
|
You have a great picture of yourself and want to use it for your social media profile, but the background is distracting. Another picture has a perfect background for your profile picture. How do you combine the two? Some smartphone apps that do this kind of photo manipulation but are too expensive or are riddled with ad-ware. And they aren't open source. [Rembg][1] is up to the challenge!
|
|
|
|
Rembg is written in Python, so install Python 3 on your computer. Most Linux distributions include Python 3 by default. You can check your version with this simple command:
|
|
|
|
```
|
|
$ python3 --version
|
|
```
|
|
|
|
Rembg requires at least Python 3.7 and no greater than Python 3.11. In my case, I have Python 3.10.6 installed.
|
|
|
|
### Install Rembg on Linux
|
|
|
|
I created a directory called `PythonCoding` on my Linux laptop and then made a Python virtual environment:
|
|
|
|
```
|
|
$ python3 -m venv /home/don/PythonCoding
|
|
```
|
|
|
|
Next, I installed `rembg` using `pip`:
|
|
|
|
```
|
|
$ python3 -m pip install rembg
|
|
```
|
|
|
|
### Combine images
|
|
|
|
Time to work some magic. First, I chose the image containing a picture taken at All Things Open in 2019.
|
|
|
|
![Don Watkins at All Things Open conference][2]
|
|
|
|
I ran the following `rembg` command to rename it with a shorter filename for convenience:
|
|
|
|
```
|
|
$ rembg i dgw_ato.jpeg dgw_noback.jpg
|
|
```
|
|
|
|
The first time you run `rembg`, it downloads an open source [pattern recognition model][3]. This can be over 100 MB and `rembg` saves it in your user directory as `~/.u2net/u2net.onnx`. The model is the U-2-Net and uses the Apache 2.0 license. For more information about the pattern recognition models (including how to train your own), read the Rembg documentation.
|
|
|
|
It created my new photo without the background in about ten seconds. I have a Ryzen 7 with 16 GB of RAM. Your experience may vary depending on your hardware.
|
|
|
|
![A processed image of Don Watkins, with the background removed by Rembg.][4]
|
|
|
|
I have used [GIMP][5] to remove backgrounds in the past, but `rembg` does it quicker and more completely than I have experienced with GIMP.
|
|
|
|
That's all there is to removing a background. What about adding a new one?
|
|
|
|
### Add a new background
|
|
|
|
Next, I want to add a new background to the picture. There are different ways to do that. You can, for instance, combine images with [ImageMagick][6], but getting the frame size right can be complex. The easiest way is to use GIMP or [Krita][7].
|
|
|
|
I used GIMP. First, open the newly created image (`ato_image.jpg` in my case). Now go to the **File** menu and select **Open as layers**. Choose a different image for the background. This image opens as an overlay above the existing photo.
|
|
|
|
I wanted to move the new background below my portrait. On the right of the GIMP window are two thumbnails, one for each image layer. The background layer is on top. I dragged the background layer beneath my portrait image, and here's the result:
|
|
|
|
![Don Watkins with a new background.][8]
|
|
|
|
That's a much nicer setting for my profile picture!
|
|
|
|
### Try Rembg
|
|
|
|
Rembg has three subcommands you can review in the `--help` menu:
|
|
|
|
```
|
|
$ rembg --help
|
|
```
|
|
|
|
They are:
|
|
|
|
- `rembg i` for files
|
|
- `rembg p` for folders
|
|
- `rembg s` for HTTP server
|
|
|
|
Rembg is released with an [MIT][9] license. Try it the next time you need a background removed from an image.
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
via: https://opensource.com/article/23/4/image-editing-linux-python
|
|
|
|
作者:[Don Watkins][a]
|
|
选题:[lkxed][b]
|
|
译者:[译者ID](https://github.com/译者ID)
|
|
校对:[校对者ID](https://github.com/校对者ID)
|
|
|
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
|
|
|
[a]: https://opensource.com/users/don-watkins
|
|
[b]: https://github.com/lkxed/
|
|
[1]: https://github.com/danielgatis/rembg
|
|
[2]: https://opensource.com/sites/default/files/2023-03/don-watkins-at-All-Things-Open.webp
|
|
[3]: https://github.com/xuebinqin/U-2-Net
|
|
[4]: https://opensource.com/sites/default/files/2023-03/don-watkins-no-background.webp
|
|
[5]: https://opensource.com/content/cheat-sheet-gimp
|
|
[6]: https://opensource.com/article/17/8/imagemagick
|
|
[7]: https://opensource.com/article/21/12/open-source-photo-editing-krita
|
|
[8]: https://opensource.com/sites/default/files/2023-03/don-watkins-at-the-beach.webp
|
|
[9]: https://github.com/danielgatis/rembg/blob/main/LICENSE.txt |