1

Swypeに似た仮想キーボードに取り組んでいます(ただし、サポートされていないプラットフォームの場合)。基本的に、これが行うことは (慣れていない人のために)、単語ごとに指を離さずにキーの上で指を動かすことです。だから私がする必要があるのは、描かれた形を単語リストの各単語の形と比較し、最も似ているものを使うことです. 私の問題は次のとおりです。最も類似した形状を見つけるにはどうすればよいですか?

編集: $1 レコグナイザーの Python 実装を試してみましたが、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)
4

2 に答える 2

2

これはいつか戻って書いていました。少し異なるアプローチで、かなり高速です。それが役に立てば幸い..

http://krishnabharadwaj.info/how-swype-works/

于 2011-12-31T16:40:07.617 に答える
1

JavaScript の $1 Unistroke Recognizer を確認してください。それは悪いです。

于 2011-08-03T19:58:40.780 に答える