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.csDemo\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-做手写识别的更多相关文章

  1. 【2019.11.20】SDN上机第4次作业

    安装OpenDayLight控制器 配置JAVA环境 https://www.opendaylight.org/ 在官网进行下载OpenDayLight控制器 启动OpenDayLight控制器和安装 ...

  2. MyScript 手写识别数学公式、图形 自动计算

    项目的地址  http://git.oschina.net/bimingcong/MyScript #说明:MyScript是一种能够自动识别用户在屏幕上的手势,然后转化为相应的数学公式.图形(比如三 ...

  3. 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( ...

  4. [New!!!]欢迎大佬光临本蒟蒻的博客(2019.11.27更新)

    更新于2019.12.22 本蒟蒻在博客园安家啦!!! 本蒟蒻的博客园主页 为更好管理博客,本蒟蒻从今天开始,正式转入博客园. 因为一些原因,我的CSDN博客将彻底不会使用!!!(带来不便,敬请谅解) ...

  5. 2019.11.9 csp-s 考前模拟

    2019.11.9 csp-s 考前模拟 是自闭少女lz /lb(泪奔 T1 我可能(呸,一定是唯一一个把这个题写炸了的人 题外话: 我可能是一个面向数据编程选手 作为一个唯一一个写炸T1的人,成功通 ...

  6. 只有20行Javascript代码!手把手教你写一个页面模板引擎

    http://www.toobug.net/article/how_to_design_front_end_template_engine.html http://barretlee.com/webs ...

  7. 最新用WPF为触摸屏写了一个手写程序,双格输入的

    原文:最新用WPF为触摸屏写了一个手写程序,双格输入的 双格输入可以提高手写速度,当前字写完以后可以自动识别提交,写下一个字.这样比单格手写速度提高一倍.特别适合触摸屏程序使用 界面如下: 程序如下: ...

  8. 2019前端面试系列——JS高频手写代码题

    实现 new 方法 /* * 1.创建一个空对象 * 2.链接到原型 * 3.绑定this值 * 4.返回新对象 */ // 第一种实现 function createNew() { let obj ...

  9. WPF启动流程-自己手写Main函数

    WPF一般默认提供一个MainWindow窗体,并在App.Xaml中使用StartupUri标记启动该窗体.以下通过手写实现WPF的启动. 首先先介绍一下VS默认提供的App.Xaml的结构,如下图 ...

  10. .NET Core/.NET5/.NET6 开源项目汇总11:WPF组件库1

    系列目录     [已更新最新开发文章,点击查看详细] WPF(Windows Presentation Foundation)是微软推出的基于Windows 的用户界面框架,属于.NET Frame ...

随机推荐

  1. pandas一些基本操作(DataFram和Series)_1

    ##生成一个一维数组import numpy as np;nb7 = np.arange(0,100,2);print(nb7)print("======================== ...

  2. Umount- Linux必学的60个命令

    1.作用 umount命令的作用是卸载一个文件系统,它的使用权限是超级用户或/etc/fstab中允许的使用者. 2.格式 unmount -a [-fFnrsvw] [-t vfstype] [-n ...

  3. vs 快捷键 (空格显示 绿点, Tab 显示箭头)

    VS 快捷键 (空格显示 绿点, Tab 显示箭头)   VS 有用的快捷键 : Ctrl + r, ctrl + w, 切换空格示.

  4. vue使用远程在线更新代码

    一.main.js import Vue from 'vue' import App from './App' import router from './router' import Vuex fr ...

  5. redis消息队列先进先出需要注意什么?

    通常使用一个list来实现队列操作,这样有一个小限制,所以的任务统一都是先进先出,如果想优先处理某个任务就不太好处理了,这就需要让队列有优先级的概念,我们就可以优先处理高级别的任务,实现方式有以下几种 ...

  6. 单例模式以及在C#中的使用

    下面做一些简要的说明. 1. 单例模式(Singleton Pattern),又称作单件模式,当然也有一种诙谐的称谓:单身模式.在经典的GoF所著的<Design Patterns>一书中 ...

  7. 我是如何在实际项目中解决MySQL性能问题

    可能是本性不愿随众的原因,我对于程序员面试中动辄就是考察并发上千万级别的QPS向来嗤之以鼻,好像国内的应用都是那么多用户量一样,其实并发达到千万,百万以上的应用能有几个? 绝大多数的程序员面临的只是解 ...

  8. Python-Jsonpath简单入门

    原文来自:http://goessner.net/articles/JsonPath/   JSONPath - 是xpath在json的应用. xml最大的优点就有大量的工具可以分析,转换,和选择性 ...

  9. 2018-2-13-visual-Studio-无法调试,提示程序跟踪已退出

    title author date CreateTime categories visual Studio 无法调试,提示程序跟踪已退出 lindexi 2018-2-13 17:23:3 +0800 ...

  10. PHP CURL header 设置HOST主机头进行访问并 POST提交數據

    $host = array("Host: act.qzone.qq.com");// 域名不帶http://$data = array(            'aa' => ...