Removing Photo Background

I want to develop an app that you take a picture of a person and it automatically remove the background, can’t be on a defined background, I’m cogitating to use Kinect and use the Deept Sensor on it, but I don’t have any idea if it work, someone have a better solution ?

Two options come to mind:

  1. Normal camera. Take a picture without the person in it. Then subtract that image from images where the person is there. All things being equal, the background should be black, and non-black pixels are where the person is, so you can make a mask of that. You’ll want to balance light and have a ‘blackness threshold’ etc.

Depth cam like Kinect. Specifically ZigFu’s plugin exposes a ‘user map’ which is the silhouette of the person(s) detected. You can use that as a mask on the RGB image to just show the person. Example here: Shoestring Sue performs "You Killed Bigfoot" using Aura Imaging technology - YouTube