0

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

  1. 图像不应有边框 [我可以使用 RMagick 及其“修剪”方法在一定程度上完成。]

  2. 图片必须有白色背景

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

如果您能想到任何方法来完成上面的#2 和#3,请告诉我。

注意:我正在使用 Ruby,因此任何使用 Ruby 或 Ruby gems 的解决方案都值得赞赏。

4

1 回答 1

1

为了检测#1(不删除),我会读取边缘每个像素的颜色并计算标准偏差。如果它非常低或为零(并且像素不是白色),那么您就有了边框。如果存在多像素宽的边框,请从边缘循环执行此操作。

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

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

于 2010-12-23T15:11:08.207 回答