在Python中查找最相似的形状
我正在开发一个虚拟键盘,类似于Swype(但支持的平台不同)。简单来说,这个键盘的工作方式是,你可以在键盘上滑动手指,而不需要每次都抬起手指来输入一个单词。对于那些不太了解的人来说,我需要做的就是把你滑动的形状和单词列表中的每个单词的形状进行比较,然后找到最相似的一个。我的问题是:我该如何找到最相似的形状呢?
补充一下:我试过用Python实现的$1识别器,但解析我那32,000个单词的列表几乎要花7分钟。有没有什么办法可以加快这个过程(或者至少提前计算一下)?这是我用来生成它的代码:
self.keylayout = ["qwertyuiop","asdfghjkl;","zxcvbnm,."]
for i in wl:
points = []
for j in i:
if j.lower() in self.keylayout[0]:
points.append((40, self.keylayout[0].index(j.lower())*48+24))
elif j.lower() in self.keylayout[1]:
points.append((120, self.keylayout[1].index(j.lower())*48+24))
elif j.lower() in self.kl[2]:
points.append((200, self.keylayout[2].index(j.lower())*48+24))
self.rec = Recognizer()
self.rec.addTemplate(i, points)