gpt4 book ai didi

c++ - 提取扫描文档的一部分(个人 ID)——选择哪个库和方法?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:34:02 27 4
gpt4 key购买 nike

我必须处理大量扫描的 ID,我需要从中提取照片以进行进一步处理。这是一个虚构的例子:

enter image description here

问题是扫描没有完全对齐(最多旋转 10 度)。所以我需要找到它们的位置,旋转它们并剪出照片。事实证明,这比我原先想象的要难得多。

  • 我检查了 OpenCV,我唯一发现的是矩形检测,但它并没有给我很好的结果:矩形在样本上并不总是匹配得足够好。此外,它的图像匹配算法仅适用于未旋转的图像,因为它只是一种蛮力比较。

  • 所以我考虑使用 ARToolkit(增强现实库),因为我知道它能够非常精确地定位图像上的给定标记。但似乎标记必须非常简单,所以我不能为此目的使用文档的常量部分(如果我错了请纠正我)。此外,我发现在 Ubuntu 11.10 上编译它非常困难。

  • OCR - 还没有尝试过这个,在我开始研究之前,我将非常感谢您提供寻找内容的任何建议。

我正在寻找 C(首选)/C++ 解决方案。 Python 也是一种选择。

最佳答案

如果您找不到另一个理想的解决方案,我过去用于 OCR 预处理的一种方法是将源图像转换为 PPM 并使用 unpaper在Ubuntu中。您可以尝试根据您指定为具有清晰定义的边缘的任何一侧来对图像进行校正,并且可以选择绕过通常应用于黑白文本的过滤器。您可能不希望这些用于图像。

图像倾斜不超过 15 度的示例,使用底部和右侧边缘检测旋转:

unpaper -n -dn bottom,right -dr 15 input.ppm output.ppm

unpaper 是用 C 写的,如果源代码对你有帮助的话。

关于c++ - 提取扫描文档的一部分(个人 ID)——选择哪个库和方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8073135/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com