我应该如何实现在线轻松“photoshopping”删除上传图像的背景?

时间:2011-03-24 07:21:46

标签: web-applications photoshop composite

我们制作的应用程序包含一个显示照片和文字的数字图库。

用户通常会上传带有背景的照片,我们希望屏蔽背景,前景对象仍然与我们的自定义背景合成。物体大部分是暗的,形状很简单,所以如果在白色背景上拍摄,则轮廓清晰。我们希望提供非常易于使用的工具来帮助用户删除背景,这提供了与Photoshop相似的功能,但没有它的复杂性。我们还需要让用户将对象的大小调整为相同的大小。

一些想法,

  1. 魔杖工具
  2. 创建闭合贝塞尔线的线条工具
  3. 一些预定义的形状作为面具。
  4. 该工具可以用flash / air / html5制作。

1 个答案:

答案 0 :(得分:0)

如果物体总是比背景暗,你应该使用一个简单的阈值方法,用一个参数来设置它:(比亮度更亮的是BG,剩下的就是FG)。 如果不是这种情况,请查看分水岭算法。我认为来自英特尔的免费OpenCV库(http://opencv.willowgarage.com/wiki/)包含一个实现。这些也需要非常少的参数:种子点开始分割,因此用户只需单击前景对象,然后再次设置交互式设置阈值,直到选择整个对象。这大部分就像是“魔杖”。 如果仍然不够,可能是“蛇”和“水平集”方法适合你。用户可以在对象周围绘制粗略曲线,算法会尝试找到实际的精确边框。这些算法专门设计用于根据您定义的属性找到前景和后景之间的最佳分离,并且可以使用少量参数(通常为2或3)来控制它们,这对于大多数用户来说仍然应该是足够容易的。我怀疑英特尔是否有这样的实现,但是我前一段时间使用过这个实现:http://vivienmallet.net/fronts/这是非常好的开源,所以你可以轻松地将它用于你的需要。

我的建议是从OpenCV开始,因为它包含很多不同的方法,足以解决大多数简单问题。

干杯!