过滤OCR结果

时间:2016-11-02 08:24:38

标签: java android ocr

我正在研究OCR,我已经开始工作,但现在我仍然坚持如何过滤OCR结果以将每个字符串移动到一组文本字段中。

例如, OCR结果:

  

姓名:Jhon

     

否:12345

     

地址:加拿大

...但有时它会分配" Jhon"到文本字段"地址",或" Jhon"到文本字段"否"。

1 个答案:

答案 0 :(得分:1)

对于包含校验和的数据(通常是银行帐号),您可以验证校验和,如果您确实需要非常低的误报率,则需要视频流输入,并且在一段时间内继续进行OCR累积几个结果。当大多数"校验和有效时#34;那些是相同的,那么很可能(99,5 +%)正确的字符串。

如果没有视频流和累积结果,校验和数据可能会达到97-99,5%。

没有校验和:嗯,你真的不能说。

对于" No"等字段。你至少可以拒绝按字母顺序排列的结果,以及" Name"你可以惩罚数字(虽然我认为有一些不起眼的国家名称中的数字有效吗?),在地址中你可以给#34; alphabet_digit"结果,加上所有街道/城市字符串的字典,但最终没有办法说哪个结果比其他结果更正确。

再次进行视频流输入并在较长时间内(1-5s)累积多个结果可能会给你足够的结果来运行一些统计数据,然后如果你有足够大的相同部分结果的阈值出现在OCR,考虑它"纠正"。

即使这样,这些字符串的可靠性可能会低于98%,更接近90-95%,对于没有任何提示(数字/字母/大小/位置)的通用文本,您甚至可以获得50-80%的可靠性范围(作为整个字符串,因为OCR本身每个字符大约有95-98%)。