1

在我发布到这里之前,我在板上做了相当多的环顾,但我没有看到任何能捕捉到我希望做的事情。

我们收到大量的入站传真(500 多页/天)作为单独的文件(大约 100 多份文件/天)。发送者(作为医院)通常会在第一次尝试几个小时后重新发送相同的文件。我想将第二次发送标记为“潜在克隆”,以便可以适当地路由和标记它。

我想知道如何在每个到达的传真(PDF/TIFF)上计算和标记某种哈希或 ID,然后快速在我们的文档数据库中进行扫描,看看它是否是唯一的。

显然,如果不希望 100% 确定,就没有办法,但我不由自主地认为,如果以下情况,一份传真将与另一份传真相同:

  • 相同的页数
  • 原件24小时内发送
  • 哈希码相似(在阈值内)

但是我对图像比较有点困惑。我正在寻找一个阈值哈希码或某种方式来表示“每个传真的 p4 上的图像有 95% 的可能性是相同的”。例如,原始传真的 p4 可能是歪斜的,但重新发送的传真的 p4 是直的。我正在考虑首先通过 Inlite Research 的 ClearImage Repair 之类的工具运行所有传真页面,以拉直、旋转和校准所有页面。

有没有人做过这样的事情?

4

4 回答 4

2

如果 OCR 不是一个选项,您可以采用基于图像的方法。一种可能性是对传真图像进行下采样/过滤(以去除高频噪声),然后计算两个下采样图像的像素之间的归一化相关性。显然,还有更强大的方法,但这可能足以标记两个传真以进行手动检查。特别是如果您提到的图像修复软件可以自动定位和缩放每一页。

于 2009-12-02T23:55:30.443 回答
2

困难在于,如果发送的第二份传真是新扫描的结果,那么这两个文件将具有不同的哈希值

测量文档之间的相似性(似是而非的重复)可能需要对它们进行 OCR,或者以其他方式比较(如果是模糊方式)它们的图像内容(即在解压缩它们之后)。

编辑:对用于重复检测的 HASH 代码的建议

试探性地,可以将文档的以下属性组合成一些散列值,这些散列值易于提供良好的指示,即似是而非的重复:

应该为每个单独的页面获取这些属性,原因是页面是明确的限制,因此通过在这些限制上“硬”,我们可以在页面内容中允许更软(更模糊)的测量。
并非所有以下属性都是必需的。这些通常从更容易获得到需要更多编程的那些列出。

  • PDF 级别的对象特征
    (针对每一页!)
    • 大小,即八位字节数
    • 尺寸(宽度和高度;即使使用相同的“字母”格式,实际扫描会产生不同的图像大小
  • OCR 文本
  • 图像特性(黑白比,...)

关于“散列”,它应该尽可能宽,理想情况下是一个可变长度的散列,由附加 32 位或 64 位散列组成,每页一个。

于 2009-12-02T23:32:43.097 回答
1

如果文档主要是文本,那么对它们进行 OCR 处理是个好主意。比较文本很简单。

我想可以进行“距离”计算,但是如果传真第二次被颠倒发送怎么办?还是他们扩大了它以使其更清晰?

我会尝试处理您可能遇到的文档子集,而不是应用通用算法。你会得到更好的结果,因为它不会在阳光下寻找一切。

于 2009-12-02T23:38:35.243 回答
0

我认为OpenCV库是您正在寻找的。如果我没记错的话,它有图像相似性工具。通过地标识别和频域技术。可以在频域中进行近似散列,而不会因为图像中的微小差异而遇到太多麻烦。

于 2009-12-03T01:04:30.367 回答