我正在使用西班牙语OCR 进行一个项目。相机在一行文本中捕捉不同的帧。文本行包含以下内容:
Este texto, es una prueba del dispositivo lector para no viidentes。
经过一些操作后,我得到了这样的字符串:
s1 = "Este texto, es una p!"
s2 = "fste texto, es una |prueba u.-"
s3 = "jo, es una prueba del dispo‘"
s4 = "prueba del dispositivo \ec"
s5 = "del dispositivo lector par:"
s6 = "positivo lector para no xndev"
s7 = "lector para no videntes"
s8 = "¡r para no videntes."
我想加入字符串,以便我可以在最终字符串中获取扫描行的文本,如下所示:
sf = "Este texto, es una prueba del dispositivo lector para no videntes."
一开始我尝试SequenceMatcher
在两个字符串之间使用,但它没有效果:
# -*- coding: utf-8 -*-
from difflib import SequenceMatcher as sq
s1 = "Este texto, es una p!"
s2 = "fste texto, es una prueba u.-"
match = sq(None, s1, s2).find_longest_match(0, len(s1), 0, len(s2))
print unicode(s1 + s2[match.b + match.size:])
结果包含无效字符,例如|
or !
:
>>>Este texto, es una p!|prueba u.-
之间s2
和s3
:
>>>fste texto, es una |prueba u.-prueba del dispo‘
等等我在 Windows 7 上使用 python 2.7。