RemoveBackground

RemoveBackground[image]

returns an image with an alpha channel where the background is transparent.

RemoveBackground[image,model]

uses foreground or background model specification.

RemoveBackground[video,]

performs background removal on frames of video.

Details and Options

  • RemoveBackground is also known as foreground-background segmentation. It is typically used to analyze the foreground or background or replace the background.
  • RemoveBackground works with arbitrary 2D and 3D images.
  • The model specification is used to indicate the foreground that is kept in the image or the background that is removed from the image.
  • Possible settings for the model specification are:
  • specforeground or background specification spec
    {"Background",spec}background specification spec
    {"Foreground",spec}foreground specification spec
  • By default, these models are used as foreground specifications:
  • "Salient"saliency object detection based on neural networks
    "Object"semantic segmentation of foreground and background
    {"Object",params}position or bounding box specification
    "People"people segmentation
    Rectangle[]segment indicated by a bounding box
  • By default, these models are used as background specifications:
  • colregion of almost uniform color col
    markerimageregion of almost uniform colors specified by an image
    possegment containing the position pos
    {pos1,pos2,}segment containing all posi
    "Blurred"blurred region
    {"Blurred",r}assume blur factor of r
    "Bright"brighter foreground or background
    "Dark"darker foreground or background
    "Uniform"region of almost uniform color
    {"Uniform",params}color, position and color distance specification
  • Positions posi are assumed to be in the standard image coordinate system.
  • The following options can be given:
  • BatchSize Automatichow many examples to process in a batch
    PerformanceGoalAutomaticwhether to optimize for speed or quality
    TargetDevice "CPU"the target device on which to perform training
  • If an image already has an alpha channel, the result will have an alpha channel equal to the computed foreground map multiplied with the original alpha channel.
  • RemoveBackground for some models uses machine learning. Its methods, training sets and biases included therein may change and yield varied results in different versions of the Wolfram Language.
  • RemoveBackground may download resources that will be stored in your local object store at $LocalBase, and can be listed using LocalObjects[] and removed using ResourceRemove.

Examples

open allclose all

Basic Examples  (4)

Remove the background of an image:

Remove the background of a given color:

Remove the background using saliency object detection:

Remove the background from a picture of a person:

Scope  (16)

Basic Uses  (5)

Remove the background from an image:

Remove the background using a background specification:

Remove the background using a foreground specification:

Remove the background from a video:

Remove the background from a 3D image:

Background Specification  (5)

Separate an almost uniformly colored background:

Specify the color and threshold for uniform background detection:

Specify a marker for detecting the uniform background:

Markers can also be specified by a list of coordinates:

Remove a blurred background:

Removing the background using background model specification is equivalent:

Foreground Specification  (6)

Separate the background from a salient foreground segmentation:

This is equivalent to:

Segment the foreground using the "Object" model:

Remove the background using a point marker as the object specification:

This is equivalent to:

Remove the background using a rectangle marker as the object foreground specification:

Separate an almost uniformly colored foreground:

Specify the color for uniform foreground detection:

Generalizations & Extensions  (1)

Background and foreground may be completely separated at multiple steps:

Remove the light yellow background:

Remove the yellow background from the temporary image:

Options  (2)

BatchSize  (1)

Compare evaluation times using various batch sizes:

TargetDevice  (1)

Compare evaluation times using "CPU" and "GPU" devices:

Applications  (6)

Remove the background of a video with people in the foreground:

Highlight bacteria:

Segment an object specified by a marker:

Count birds in a picture by first removing the uniform background:

Extract the shape of each component:

Detect the background in an image and replace it with fully transparent pixels:

Compose the foreground on top of a different background:

Chroma key compositing or chroma keying is a common technique to remove the background (typically green) from an image or video:

Find the shade of the green used in the background:

RemoveBackground replaces green pixels of the image with fully transparent pixels:

Compose the foreground over a slightly blurred background to also get an out-of-focus effect:

Properties & Relations  (1)

The foreground mask is stored as the alpha channel:

Use AlphaChannel to extract it:

Replace the background with a different color:

Use a background image to fill the background:

Possible Issues  (2)

When using the object method, specifying a point or a region can improve the result significantly:

Different methods may provide better results depending on the image content and the region of interest:

Compare to the "Object" model:

Wolfram Research (2014), RemoveBackground, Wolfram Language function, https://reference.wolfram.com/language/ref/RemoveBackground.html (updated 2024).

Text

Wolfram Research (2014), RemoveBackground, Wolfram Language function, https://reference.wolfram.com/language/ref/RemoveBackground.html (updated 2024).

CMS

Wolfram Language. 2014. "RemoveBackground." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2024. https://reference.wolfram.com/language/ref/RemoveBackground.html.

APA

Wolfram Language. (2014). RemoveBackground. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/RemoveBackground.html

BibTeX

@misc{reference.wolfram_2024_removebackground, author="Wolfram Research", title="{RemoveBackground}", year="2024", howpublished="\url{https://reference.wolfram.com/language/ref/RemoveBackground.html}", note=[Accessed: 22-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_removebackground, organization={Wolfram Research}, title={RemoveBackground}, year={2024}, url={https://reference.wolfram.com/language/ref/RemoveBackground.html}, note=[Accessed: 22-November-2024 ]}