我正在尝试根据几个标准验证图像:
图片不应该有边框[我可以使用RMagick及其'trim'方法达到某种程度。]
图片必须为白色背景
图像不应包含任何可见水印。
如果您能想出任何方法来完成上述#2和#3,请告诉我。
注意:我正在使用Ruby,所以任何使用Ruby或Ruby宝石的解决方案都会受到赞赏。
答案 0 :(得分:0)
为了检测#1(不去除),我会读取沿边缘的每个像素的颜色并计算标准偏差。如果它非常低或为零(并且像素是非白色的)那么你有一个边框。如果有一个多像素宽的边框,请继续从边缘开始循环。
对于#2,您可以查看图像的四个角,看看它们是否都是白色(或者可能是3/4)。或者,您可以计算图像中全白的像素数,并确保其中有大量像素。
对于#3,我不知道。你在谈论一些非常先进的图像处理。一个简短的谷歌搜索找到了几个很好的答案,用于检测常见的低不透明度/混合水印。从图像中提取自己的速记“水印”有很好的资源,但我怀疑这不是你的目标。