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. 论文翻译—SPP-Net(目标检测)

    SPPNet论文翻译 <Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition> Kai ...

  2. Spring 调度工具Quartz cron 表达式的格式

    http://chinaxxren.iteye.com/blog/839630 Quartz cron 表达式的格式十分类似于 UNIX cron 格式,但还是有少许明显的区别.区别之一就是 Quar ...

  3. _strupr _wcsupr _mbsupr

    将字符串转化为大写的形式(Convert a string to uppercase.)定义: char *_strupr( char *string ); wchar_t *_wcsupr( wch ...

  4. hdu1693 Eat the Trees [插头DP经典例题]

    想当初,我听见大佬们谈起插头DP时,觉得插头DP是个神仙的东西. 某大佬:"考场见到插头DP,直接弃疗." 现在,我终于懂了他们为什么这么说了. 因为-- 插头DP很毒瘤! 为什么 ...

  5. linux命令行操作mysql数据库明细

    连接数据库==> mysql -uroot -p 输入root密码 进入mysql操作后 下面的命令不要忘了最后结尾的; 1.选择数据库命令: use <数据库名> 2.查看表的引擎 ...

  6. 装配SpringBean(二)--XML方式介绍

    装配SpringBean,我理解的意思就在容器中定义一个bean,然后让容器通过某种方式找到它.因为在Spring中一切皆资源,资源就是所谓的bean,我们怎么才能从容器中获取这些资源呢?那就是控制反 ...

  7. Dom4j官网解释实例

    Dom4j是一个易于使用的,开源的库,在Java平台上与XML,XPath,XSLT协同工作.使用Java集合框架,全面支持DOM,SAX,JAXP. 官方网站:http://dom4j.org 1. ...

  8. Luogu P3459 [POI2007]MEG-Megalopolis(线段树)

    P3459 [POI2007]MEG-Megalopolis 题意 题目描述 Byteotia has been eventually touched by globalisation, and so ...

  9. 未加星标 Linux磁盘下查看I/O磁盘的性能

    iostat查看linux硬盘IO性能 rrqm/s:每秒进行merge的读操作数目.即delta(rmerge)/s wrqm/s:每秒进行merge的写操作数目.即delta(wmerge)/s ...

  10. Laravel 日志权限问题

    laravel发现日志写入不了, 因为此日志是定时任务生成的, 定时任务的执行用户时root 解决方法: 方法1.修改执行定时任务的用户, 不过www用户时无法登陆的, 可能有点麻烦 方法2.修改la ...