Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Remove the background of a picture?

I am trying to write a program to detect the background and the foreground of a picture. Technically I would like to reproduce what is done on this website : https://clippingmagic.com/ or this iOS app : https://itunes.apple.com/app/cutto-smart-cutter/id791249825.

Currently, I tried different methods with openCV to remove the background, but the result is not satisfying :

  • Edge detection with canny filter does not enable the user to delete an area manually.
  • The flood fill algorithm leaves some stray pixels and runs randomly even with a small RGB area.

I want to know if there is a smaller library than openCV to carry out what I want : an app like https://itunes.apple.com/app/cutto-smart-cutter/id791249825 (~500 ko). But mostly I would like to know what kind of algorithm I should be using if I have to write it myself, or at least in which direction I should be looking. As you can see on https://clippingmagic.com the detection is not done automatically and requires some information on what is the foreground and what is the background. I think that information has the potential to give great results, I just don't know how to use it properly.

Remove the background of a picture?

I am trying to write a program to detect the background and the foreground of a picture. Technically I would like to reproduce what is done on this website : https://clippingmagic.com/ or this iOS app : https://itunes.apple.com/app/cutto-smart-cutter/id791249825.

Currently, I tried different methods with openCV to remove the background, but the result is not satisfying :

  • Edge detection with canny filter does not enable the user to delete an area manually.
  • The flood fill algorithm leaves some stray pixels and runs randomly even with a small RGB area.

I want to know if there is a smaller library than openCV to carry out what I want : an app like https://itunes.apple.com/app/cutto-smart-cutter/id791249825 (~500 ko). But mostly I would like to know what kind of algorithm I should be using if I have to write it myself, or at least in which direction I should be looking. As you can see on https://clippingmagic.com the detection is not done automatically and requires some information on what is the foreground and what is the background. I think that information has the potential to give great results, I just don't know how to use it properly.