2019-11-20-WPF-使用-MyScript-的-IInk-做手写识别
| title | author | date | CreateTime | categories |
|---|---|---|---|---|
|
WPF 使用 MyScript 的 IInk 做手写识别
|
lindexi
|
2019-11-20 08:18:26 +0800
|
2019-11-18 16:32:28 +0800
|
WPF
|
有小伙伴问我可以如何在 WPF 使用其他第三方提供的库进行手写识别,上次 MyScript 的工程师和我吹,他做了世界上识别最好的库,本文就来安利一下大家这个库。这里库是收费的库,但是可以免费使用,只要不是有大量用户,这个库还是免费用的。用这个库可以在 Windows 平台识别数字、多个不同语言、数学公式手写识别
我对比了这个库和微软自带的手写识别,在识别英文和数字上,其实差别不大。但是 MyScript 的 IInk 对数学公式的识别是超级厉害,至少我还没有找到一个比他厉害的。但是在识别中文上就比微软自带的差一点了
在 MyScript 的使用限制是需要指定当前用户书写的内容,如先设置为英文,此时就会使用英文识别。另外识别的计算速度不快,不过做实时识别还是可以的,这要求你的设备不能太差。基本上能将 LoL 运行起来,玩的时候不会砸键盘的设备就能做实时识别
好了,我知道怎么吹小伙伴都是不信的,让我给出一张图片证明。这是一张比较大的 GIF 图片,所以我放在了 sm.ms 上,如果看不到图片就刷新
小伙伴也许会认为我是用了100000挑里面最好的一个放上来,下面就来告诉搭建如何开发
不要问那么多,上车咯
先通过 Github 下载官方的例子 MyScript/interactive-ink-examples-wpf: MyScript Interactive Ink examples and user interface reference implementation for Windows WPF.
下载完成之后,不要急着打开,因为这是一个收费的库,所以需要下载许可证。下载许可证的路线有点长,需要注册帐号写申请,然后这个网站又在国外,所以可能需要小伙伴一点时间。申请帐号地址是 https://developer.myscript.com/getting-started 申请完成会在邮件收到 MyCertificate.cs 文件,将这个文件替换到下载的仓库的 GetStarted\MyCertificate.cs 和 Demo\MyCertificate.cs 如果小伙伴都不想申请,或者打不开网站,可以发邮件给我使用我的文件
免费的 MyCertificate.cs 可以用在100个设备上
如果你看到本文时,官方还没有修复 MyScript.InteractiveInk.GetStarted.Wpf-VS2017.csproj 的坑,也就是我在 github 上提出的问题,那么请小伙伴手动删除 <HintPath>..\..\..\..\..\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\PresentationCore.dll</HintPath> 这段代码,以及下面差不多的代码
此时通过 VisualStudio 打开,设置 MyScript.InteractiveInk.GetStarted.Wpf-VS2017 作为启动项目,还原 NuGet 库,然后就可以运行了
此时运行如何编译太久了,请看仓库的 recognition-assets 文件夹是否有内容,在 getRecognitionAssets.ps1 将会下载一些需要的库,可以自己手动下载替换文件。如果你无法下载,请发邮件给我给你文件
运行默认的是文字识别,可以识别英文和数字,可以做到实时识别
如果想要用本文说的手写公式识别功能,请打开 GetStarted\MainWindow.xaml.cs 文件,修改 PART_TYPE 的值
private const string PART_TYPE = "Drawing";
修改之后请重启程序,现在就可以试试公式识别,需要手动点击 Convert 按钮才能识别
这个库好不好用,请小伙伴自己测试如果还是无法编译成功,请找我要编译完成文件
再次说明,我没有收 MyScript 的好处
2019-11-20-WPF-使用-MyScript-的-IInk-做手写识别的更多相关文章
- 【2019.11.20】SDN上机第4次作业
安装OpenDayLight控制器 配置JAVA环境 https://www.opendaylight.org/ 在官网进行下载OpenDayLight控制器 启动OpenDayLight控制器和安装 ...
- MyScript 手写识别数学公式、图形 自动计算
项目的地址 http://git.oschina.net/bimingcong/MyScript #说明:MyScript是一种能够自动识别用户在屏幕上的手势,然后转化为相应的数学公式.图形(比如三 ...
- EOJ Monthly 2019.11 E. 数学题(莫比乌斯反演+杜教筛+拉格朗日插值)
传送门 题意: 统计\(k\)元组个数\((a_1,a_2,\cdots,a_n),1\leq a_i\leq n\)使得\(gcd(a_1,a_2,\cdots,a_k,n)=1\). 定义\(f( ...
- [New!!!]欢迎大佬光临本蒟蒻的博客(2019.11.27更新)
更新于2019.12.22 本蒟蒻在博客园安家啦!!! 本蒟蒻的博客园主页 为更好管理博客,本蒟蒻从今天开始,正式转入博客园. 因为一些原因,我的CSDN博客将彻底不会使用!!!(带来不便,敬请谅解) ...
- 2019.11.9 csp-s 考前模拟
2019.11.9 csp-s 考前模拟 是自闭少女lz /lb(泪奔 T1 我可能(呸,一定是唯一一个把这个题写炸了的人 题外话: 我可能是一个面向数据编程选手 作为一个唯一一个写炸T1的人,成功通 ...
- 只有20行Javascript代码!手把手教你写一个页面模板引擎
http://www.toobug.net/article/how_to_design_front_end_template_engine.html http://barretlee.com/webs ...
- 最新用WPF为触摸屏写了一个手写程序,双格输入的
原文:最新用WPF为触摸屏写了一个手写程序,双格输入的 双格输入可以提高手写速度,当前字写完以后可以自动识别提交,写下一个字.这样比单格手写速度提高一倍.特别适合触摸屏程序使用 界面如下: 程序如下: ...
- 2019前端面试系列——JS高频手写代码题
实现 new 方法 /* * 1.创建一个空对象 * 2.链接到原型 * 3.绑定this值 * 4.返回新对象 */ // 第一种实现 function createNew() { let obj ...
- WPF启动流程-自己手写Main函数
WPF一般默认提供一个MainWindow窗体,并在App.Xaml中使用StartupUri标记启动该窗体.以下通过手写实现WPF的启动. 首先先介绍一下VS默认提供的App.Xaml的结构,如下图 ...
- .NET Core/.NET5/.NET6 开源项目汇总11:WPF组件库1
系列目录 [已更新最新开发文章,点击查看详细] WPF(Windows Presentation Foundation)是微软推出的基于Windows 的用户界面框架,属于.NET Frame ...
随机推荐
- HZOI20190829模拟33题解
题面:https://www.cnblogs.com/Juve/articles/11436771.html A:春思 我们对a分解质因数,则$a=\prod\limits_p^{p|a}p^k$ 所 ...
- html常用标签详解3-a标签
a标签 1.a标签的属性 a标签属于行内元素标签,双标签<a></a> href:a标签的跳转地址 target:打开方式(_self自身:_blank:新窗口) title: ...
- leyou_05_文件上传
1.搭建一个新的微服务Ly-upload用来上传文件 2.导入文件上传到额依赖 <dependencies> <dependency> <groupId>org.s ...
- [转]模块化——Common规范及Node模块实现(二)
模块的循环加载 如果发生模块的循环加载,即A加载B,B又加载A,则B将加载A的不完整版本. // a.js exports.x = 'a1'; console.log('a.js ', require ...
- Interface Builder: What are the UIView's Layout iOS 6/7 Deltas for?
up vote57down votefavorite 19 I just noticed the iOS 6/7 Delta property found under the UIView's str ...
- memcpy 和 memmove
memcpy 原形为: void *memcpy(void *dest, const void *src, size_t n); 其用于内存空间的拷贝,但是并没有考虑内存重叠问题. memmove原形 ...
- 166 链表倒数第n个结点
原题网址:https://www.lintcode.com/problem/nth-to-last-node-in-list/description 描述 找到单链表倒数第n个节点,保证链表中节点的最 ...
- IO流14 --- 打印流的使用 --- 技术搬运工(尚硅谷)
PrintStream 字节打印流PrintWriter 字符打印流 @Test public void test9() throws Exception { FileOutputStream fos ...
- webServices学习一(了解基础和作用。)
一.第一部分 1. 带着几个问题学习: l 什么是WebService? l 它能做什么? l 为什么要学习WebService? l 学习WebService ...
- AGC035D
AGC035D Add and Remove 题意 给出\(n\)个数,每次删除一个不在两端的数,然后把它的权值加到相邻的两个数上. 问操作\(n-2\)次后,所剩的两数之和的最小值 \(n\le18 ...