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

Hom*_*ith 6 algorithm image-manipulation

假设我有一个看起来像这样的图像:

在此输入图像描述

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

在此输入图像描述

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

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

编辑:背景不是必要的白色.

Ilm*_*nen 3

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

  1. 找到图像的背景颜色。一种简单的方法是仅获取左上角像素的颜色。您可以使用更奇特的方法,但这适用于您的示例图像。

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

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

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