今天逛git无意间发现了一个Qt写的手写输入法,对于手写输入法早就觊觎的我当然不能放过它。
再来几张图镇楼
接下来就是具体制作的步骤了:
以下是git上readme的原始方法:
- Install Zinnia library
- Install QML Canvas plugin
- Check-out source code and compile:
git clone https://github.com/penk/qml-handwriting.git
- Download handwriting models, default path is
/usr/share/tegaki/models/zinnia/handwriting-zh_TW.model
1.编译安装
Zinnia library(zinnia源码包)
1.解压文件
root@lsy-ubuntu:~/handerwrite# tar -zxvf zinnia-0.06.tar.gz
2.创建target目录
root@lsy-ubuntu:~/handerwrite/zinnia-0.06# mkdir target
3.配置编译选项
root@lsy-ubuntu:~/handerwrite/zinnia-0.06# ./configure --prefix=/root/handerwrite/zinnia-0.06/target/
出现以下信息证明配置成功,生成Makefile
....................................
checking for x86 SSE instructions... configure: creating ./config.status
config.status: creating zinnia.pc
config.status: creating Makefile
config.status: creating Makefile.msvc
config.status: creating swig/version.h
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
root@lsy-ubuntu:~/handerwrite/zinnia-0.06# ls
4.编译
root@lsy-ubuntu:~/handerwrite/zinnia-0.06# make
5.安装
root@lsy-ubuntu:~/handerwrite/zinnia-0.06# make install
安装完成会生成 bin include lib三个目录如下:
root@lsy-ubuntu:~/handerwrite/target# ls
bin include lib
2、3步骤省略。。。
4.编译并安装数据文件:(zinnia识别需要的数据)
1.首先设置下刚才编译的bin路径
root@lsy-ubuntu:~/handerwrite/zinnia-tomoe-0.6# export PATH=/root/handerwrite/target/bin:$PATH
注意:
如果不设置的话,会报错:checking for a BSD-compatible install... /usr/bin/install -c
checking for zinnia_convert... no
configure: error: zinnia-convert is not found in your system
2.配置
root@lsy-ubuntu:~/handerwrite/zinnia-tomoe-0.6# ./configure --prefix=/root/handerwrite/target/data
3.编译:
root@lsy-ubuntu:~/handerwrite/zinnia-tomoe-0.6# make
4.安装:
root@lsy-ubuntu:~/handerwrite/zinnia-tomoe-0.6# make install
安装的路径一定要记得哦。
5.修改git上下载的源码:
handwriting.pro文件
unix {
# CONFIG += link_pkgconfig
# PKGCONFIG += zinnia
LIBS += -L /root/handerwrite/target/lib -lzinnia
}
main.cpp文件
data.loadModel(QStringLiteral("/root/handerwrite/target/data/lib/zinnia/model/tomoe/handwriting-zh_CN.model"));
然后就可以编译qt并运行喽。
后记:
经过多次测试,识别效率不是很高,识别也不是太精准。以后再慢慢研究吧。