我正在编写一个系统来从表单图像中删除某些字段边界。字段中可能有文字,即使笔迹跨越字段边界,我也需要正确保留。
我有 2 个图像:1 个彩色图像(转换为 HSV 颜色空间)和 1 个按像素排列的黑白图像(这些由扫描仪生成)
鉴于彩色图像中的颜色,我想从黑白图像中删除(采摘)字段边界像素。
我有一个优势,因为我先验地知道场地的确切位置,以及场地边界线的宽度/高度。
我当前的实现包括(对于每个字段),扫描彩色图像上的字段边界并计算该字段边界的平均 HSV 值(因为我确切知道字段边界在哪里,所以我只访问“字段边界”像素,但是如果它们越过字段边界,我也可能会访问一些手写像素,这个想法是它们不会使平均值产生很大的偏差)。一旦我有了字段边界的“平均” HSV 值,我再次扫描字段边界,并为每个像素计算以下 delta 函数:
如果“当前”像素和平均 HSV 之间的 Delta 值小于 0.07(根据经验发现),那么我将像素设置为白色(颜色接近),否则我将像素保持为黑色。
以下是字段的一些示例:
彩色图像: 黑白图像 非漏失: 漏掉了未在方程式中使用饱和度的黑白图像: 实际漏掉了完全使用公式的黑白图像(使用所有 3 个分量 H、S 和 V)
我用来获取第三张图像的公式是上面的公式,但是我将饱和度排除在等式之外(我只是在玩弄东西)。
这显然对颜色变化不够敏感,但公式对饱和度变化非常敏感(这主要是由图像中存在的 JPEG 压缩伪影引起的(示例伪影):
我认为第 4 个示例是最好的,因为它对颜色变化非常敏感,因此您不太可能删除笔迹,但问题是由于简单的扫描或压缩伪影引起的轻微颜色差异,您更容易拾取边框.
您有什么想法可以减轻在场边界内发生的一些颜色(饱和度)变化,是使用直方图吗?那里涉及一些量化以减少垃圾箱的数量?
我想听听人们有什么想法。
谢谢你。