如何削减图像中的额外背景?

时间:2013-11-13 17:20:24

标签: algorithm image-manipulation

说我的图像看起来像这样:

enter image description here

我没有看到我可以采取什么方法来修改图片,以便图像周围的所有背景颜色都消失了。因此,潜在的结果将是:

enter image description here

正如您所看到的那样,白色背景已被切除,现在距实际鞋子约2个像素。

我没有鞋子,但我正在寻找能让我这样做的算法。我正在使用Ruby和Minimagick,但我想第一步就是找出我可以使用的算法。

编辑:背景不一定是白色。

2 个答案:

答案 0 :(得分:3)

如果我理解你的话,这听起来像一个简单的任务,不需要任何花哨的算法。

  1. 找到图像的背景颜色。一种简单的方法是将像素的颜色放在左上角。有更好的方法可以使用,但这适用于您的示例图像。

  2. 找到包含除背景之外的某种颜色像素的最左侧和最右侧列。这些列将是裁剪图像的最左侧和最右侧列。

  3. 查找包含除背景之外的某种颜色的像素的最顶部和最底部的行。这些行将是裁剪图像的最顶行和最底行。

  4. 将图像裁剪为上面找到的尺寸。如果需要,您可以调整尺寸,在图像周围留下任何尺寸的边框。

答案 1 :(得分:1)

使用标准图像处理库中的s-t最小图切割算法