python - 最重要的字符提取
问题描述
我正在通过 OCR 从身份证中提取字符。我有 4 个不同的图像,但所有图像都是 1 个人(我)的。有 4 种不同的文本提取结果。例如名称提取
[' BEYHAN', ' S BEYHAN h of', ' 2EYHAN', ' B3YHAN U']
这种数组正在返回。所以我想提取 BEYHAN 但有一些缺失的部分。
我可以在数组中做最常见的单词,当然会返回 BEYHAN,但这仅适用于这种情况。我想获取 '2EYHAN'
和 的信息'B3YHAN'
。这不是 BEYHAN,但它有一些信息 ( 2-EYHAN
) 和 ( B-3-YHAN
)。那么你知道有什么算法或方法可以使用这种结果吗?
解决方案
首先,有代表字母的特定数字。因此wordt
,输入您需要提取的单词并wordn
输入表示的数字。下面的代码尝试逐字母匹配单词并检查它是否匹配字母或表示的数字。如果后面的所有匹配,那么他们将打印整个单词,否则他将从头开始。我只是以数字为例。运行代码https://onlinegdb.com/BJaknZFbE
words = ['BEYHAN', ' S BEYHAN h of', '2EYHAN', 'B3YHAN U']
wordt='BEYHAN';
wordn=["2","3","4","6","7","8"];
m=0
c=''
n=0
for word in words:
c=''
m=0
n=0
for letter in word:
if letter==wordt[n] or letter==wordn[n]:
m=m+1
c=c+letter;
else :
if len(wordt)!=m:
m=0
n=n-1
c=''
else:
print(c) ;
c=''
m=0
n=0
if len(wordt)-1>n:
n=n+1
else:
n=0
if len(wordt)==m:
print(c) ;
c=''
m=0
n=0
推荐阅读
- python - 从空单元格读取数据帧并启动数据初始化
- c - 创建一个循环,接收来自用户的 IP 和子网掩码输入,并将它们转换为 C 中的广播 IP
- javascript - window.open 从父级移除引用
- classification - Google AutoML Table 中的多输出分类
- excel - 如何调用存储在云盘上的模块
- jquery - 如何在响应式 CSS 菜单中添加多级?
- laravel - octobercms 中的电子邮件订阅表格
- mysql - 服务器重启后出现MySQL
- laravel - 如何在多态(laravel 6)中保存id和模型?
- flutter - Flutter 上用于位置设置的本机对话框