gpt4 book ai didi

OCR 将帧的位置与信用卡中的字段匹配

转载 作者:行者123 更新时间:2023-12-01 23:49:49 24 4
gpt4 key购买 nike

我正在开发 OCR 来检测信用卡。

扫描图像后,我得到一个单词列表及其位置。关于检测哪些词对应于信用卡的每个字段(号码、日期、姓名)的最佳方法,有什么提示/建议吗?

例如:

    position = 96.00 491.00
text = CARDHOLDER

enter image description here

提前致谢

最佳答案

您的第一个问题是,大多数 OCR 并未针对占据空间分隔 block 中大部分“页面”(或卡片图像,在您的情况下)的少量文本进行优化。他们期望扫描的书籍或报纸中的行或文本页。因此,他们在分析图像时可能做得很好

因为字体相当统一,他们可能会很好地识别字符,但布局会混淆页面分割算法,因此您输出的文本可能顺序不正确。例如,卡号的“1234”及其下方较小的“1234”构成一列文本,第二组四位数字和有效期也是如此。

对于您事先知道布局的特殊情况,您确实希望开发自己的页面分割算法以将图像分解为多个区域,例如卡号、持卡人姓名、开始日期和到期日期。这不应该难,因为我认为这些组件的位置在信用卡上是标准化的。假设进行了良好的预处理和二值化,您基本上可以绘制水平直方图并在波谷处分割图像。

然后将每个区域提取为包含仅一行文本的单独图像,并将其提供给 OCR。

交替(快速而肮脏的方法)

  • 指示 OCR 您想要识别的内容由单列组成(即防止它试图找出页面布局本身)。您可以使用 Tesseract 执行此操作,使用 -psm(页面分段模式)参数设置为 6(但尝试看看什么能给您最好的结果)
  • 使 Tesseract 输出 hOCR 格式,您可以在配置文件中设置。 hOCR 格式包括相对于整个图像输出的线条的边界框。
  • 编写一个算法,将 hOCR 中的边界框与您知道每个卡片组件应该位于的位置进行比较(寻找一定比例的重叠,由于显而易见的原因,它不会完全匹配。)

关于OCR 将帧的位置与信用卡中的字段匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27046590/

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