如何使用RMagick或任何其他Ruby Gems检查白色图像背景?

时间:2010-12-23 12:54:54

标签: ruby image-processing rmagick

我正在尝试根据几个标准验证图像:

  1. 图片不应该有边框[我可以使用RMagick及其'trim'方法达到某种程度。]

  2. 图片必须为白色背景

  3. 图像不应包含任何可见水印。

  4. 如果您能想出任何方法来完成上述#2和#3,请告诉我。

    注意:我正在使用Ruby,所以任何使用Ruby或Ruby宝石的解决方案都会受到赞赏。

1 个答案:

答案 0 :(得分:0)

为了检测#1(不去除),我会读取沿边缘的每个像素的颜色并计算标准偏差。如果它非常低或为零(并且像素是非白色的)那么你有一个边框。如果有一个多像素宽的边框,请继续从边缘开始循环。

对于#2,您可以查看图像的四个角,看看它们是否都是白色(或者可能是3/4)。或者,您可以计算图像中全白的像素数,并确保其中有大量像素。

对于#3,我不知道。你在谈论一些非常先进的图像处理。一个简短的谷歌搜索找到了几个很好的答案,用于检测常见的低不透明度/混合水印。从图像中提取自己的速记“水印”有很好的资源,但我怀疑这不是你的目标。