c# UWP 墨迹 手写识别
<InkCanvas Name="inkCanvas"></InkCanvas>
<Button Name="btnRecognize" Content="RecognizeAsync" HorizontalAlignment="Left" Height="104" Margin="0,0,0,0" VerticalAlignment="Center" Width="488" Click="BtnReg_Click"></Button> <Button Name="btnClear" Content="Clear" HorizontalAlignment="Left" Height="104" Margin="804,56,0,0" VerticalAlignment="Top" Width="488" Click="clear_Click"></Button> public MainPage()
{
this.InitializeComponent(); inkCanvas.InkPresenter.InputDeviceTypes = CoreInputDeviceTypes.Mouse | CoreInputDeviceTypes.Pen | CoreInputDeviceTypes.Touch;
// inkCanvas.InkPresenter.SetPredefinedConfiguration InkDrawingAttributes drawingAttributes = inkCanvas.InkPresenter.CopyDefaultDrawingAttributes();
drawingAttributes.IgnorePressure = true;
drawingAttributes.Color = Colors.Red;
drawingAttributes.Size = new Size(4, 4);
inkCanvas.InkPresenter.UpdateDefaultDrawingAttributes(drawingAttributes); } private void clear_Click(object sender, RoutedEventArgs e)
{ inkCanvas.InkPresenter.StrokeContainer.Clear(); } private void BtnReg_Click(object sender, RoutedEventArgs e)
{
RecognizeAsync();
} private async void RecognizeAsync() { //手写识别
var container = new InkRecognizerContainer();//可以访问InkRecognizerContainer.GetRecognizers方法获取当前系统中已安装的语言识别引擎. 如果你是英文系统说不定没有安装中文的手写识别器。
//recognizers = recognizerContainer.GetRecognizers();
//var recognizer = recognizers.SingleOrDefault(r => r.Name == "Microsoft 中文(简体)手写识别器");
//recognizerContainer.SetDefaultRecognizer(recognizer);
//使用墨迹识别
var result = await container.RecognizeAsync(inkCanvas.InkPresenter.StrokeContainer, InkRecognitionTarget.All);
//获取识别结果 InkRecognitionResult 对象中还能获取候选字
try
{
if (result.Count > 0)
{
var txt = result[0].GetTextCandidates()[0];
btnRecognize.Content = txt;
}
}
catch { }
// inkCanvas.InkPresenter.InputProcessingConfiguration.Mode = Windows.UI.Input.Inking.InkInputProcessingMode.Erasing;
return; }
另外如果需要设置擦除模式:inkcanvas.InkPresenter.InputProcessingConfiguration.Mode = InkInputProcessingMode.Erasing;
语音
现在很多人都是使用语音输入,把文字转为语音我已经写了一篇博客。
我们需要先有麦克风
首先我们需要设置语言
需要的识别,可以使用web
告诉用户需要输入
Language language = SpeechRecognizer.SystemSpeechLanguage;
speechRecognizer = new SpeechRecognizer(language);
// 使用web
SpeechRecognitionTopicConstraint web_search_grammar = new SpeechRecognitionTopicConstraint(SpeechRecognitionScenario.WebSearch, "webSearch");
speechRecognizer.Constraints.Add(web_search_grammar);
speechRecognizer.UIOptions.AudiblePrompt = "你想要说什么";
speechRecognizer.UIOptions.ExampleText = "http://blog.csdn.net/lindexi_gd";
SpeechRecognitionCompilationResult compilation_result = await speechRecognizer.CompileConstraintsAsync();
if (compilation_result.Status == SpeechRecognitionResultStatus.Success)
{
// 识别
IAsyncOperation<SpeechRecognitionResult> recognition_operation = speechRecognizer.RecognizeWithUIAsync();
SpeechRecognitionResult speech_recognition_result = await recognition_operation;
SpeechRecognitionConfidence confidence = speech_recognition_result.Confidence;//置信度
string text = speech_recognition_result.Text;//获取语音
}
语音:https://msdn.microsoft.com/zh-cn/library/windows/apps/dn596121.aspx
c# UWP 墨迹 手写识别的更多相关文章
- 【Win 10 应用开发】手写识别
记得前面(忘了是哪天写的,反正是前些天,请用力点击这里观看)老周讲了一个14393新增的控件,可以很轻松地结合InkCanvas来完成涂鸦.其实,InkCanvas除了涂鸦外,另一个大用途是墨迹识别, ...
- JS / Egret 单笔手写识别、手势识别
UnistrokeRecognizer 单笔手写识别.手势识别 UnistrokeRecognizer : https://github.com/RichLiu1023/UnistrokeRecogn ...
- (手写识别) Zinnia库及其实现方法研究
Zinnia库及其实现方法研究 (转) zinnia是一个开源的手写识别库.采用C++实现.具有手写识别,学习以及文字模型数据制作转换等功能. 项目地址 [http://zinnia.sourcefo ...
- android 开源 OCR 项目 及手写识别
http://blog.csdn.net/archfree/article/details/6023676 1)一个为Android平台,将识别由手机的相机拍摄的图像文本应用程序. http://co ...
- TensorFlow 入门之手写识别(MNIST) softmax算法
TensorFlow 入门之手写识别(MNIST) softmax算法 MNIST flyu6 softmax回归 softmax回归算法 TensorFlow实现softmax softmax回归算 ...
- 机器学习实战kNN之手写识别
kNN算法算是机器学习入门级绝佳的素材.书上是这样诠释的:“存在一个样本数据集合,也称作训练样本集,并且样本集中每个数据都有标签,即我们知道样本集中每一条数据与所属分类的对应关系.输入没有标签的新数据 ...
- tensorflow笔记(四)之MNIST手写识别系列一
tensorflow笔记(四)之MNIST手写识别系列一 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7436310.html ...
- tensorflow笔记(五)之MNIST手写识别系列二
tensorflow笔记(五)之MNIST手写识别系列二 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7455233.html ...
- 10分钟搞懂Tensorflow 逻辑回归实现手写识别
1. Tensorflow 逻辑回归实现手写识别 1.1. 逻辑回归原理 1.1.1. 逻辑回归 1.1.2. 损失函数 1.2. 实例:手写识别系统 1.1. 逻辑回归原理 1.1.1. 逻辑回归 ...
- TensorFlow MNIST(手写识别 softmax)实例运行
TensorFlow MNIST(手写识别 softmax)实例运行 首先要有编译环境,并且已经正确的编译安装,关于环境配置参考:http://www.cnblogs.com/dyufei/p/802 ...
随机推荐
- Xor-FWT 的另一种理解方式
Xor-FWT 的另一种理解方式 学习 \(\text{Fennec's Algorithm}\) 的额外收获,顺手记录一下. 假设我们要求两个长度为 \(n\) 的数组的异或卷积,为方便起见令 \( ...
- 2024/10/3 CSP-S模拟赛20241003
A 恶心恶心恶心,赛时写了一个二分+线段树的复杂度错了,当时yzh和lyz就一会骗我一会说实话的,搞得很懵,自己水平也是菜,那线段树分析复杂度怎么不把递归次数乘上呢?大傻逼grz 思路其实还挺好的. ...
- kubernetes组件大全
master节点组件 控制平面的组件我们会找一台单独的机器来部署,我们习惯上把部署控制平面组件的机器称为master节点,以下都会用master节点来代替控制平面这个概念,master节点的组件能够对 ...
- 基于RDK X5的智慧交通监控系统
· 本Blogs同步发表至CSDN:https://blog.csdn.net/xiongqi123123/article/details/143840675?sharetype=blogdetail ...
- php的各种序列化对比
php的各个序列化反序列化对比如下 function 10万条记录的序列化并写入(ms) 10万条记录文件读取并反序列化(ms) 100条记录序列化并写入(ms) 100条记录文件读取并反序列化(ms ...
- Linux中tar文件压缩与解压
文件压缩与解压缩 一般什么情况下使用文件压缩? 备份数据,数据传输 节省磁盘空间 减少带宽使用 减少负载 减少IO操作 什么情况下进行压缩比较合适? 错过业务高峰期,由于文件的压缩会瞬间加大cpu的负 ...
- Java网络编程之JavaMail发送邮件和接受邮件
JavaMail是API 是一个标准的Java扩展,它是J2EE的范畴,在J2EE开发过程中可能会需要用到这个API.在学习JavaMail之前,有必须要对现在的互联网的邮件协议进行有个大体的了解. ...
- jetty嵌入式配置总结
Jetty配置到项目 拷贝lib/jsp和lib下的所有jar包到项目中. 在工程中创建文件夹jetty/etc.jetty/contexts 拷贝jetty包中的jetty.xml和webdefau ...
- MySQL原理简介—9.MySQL索引原理
大纲 1.磁盘数据页的存储结构 2.没有索引数据库如何搜索数据 3.在表中插入数据时如何进行页分裂 4.如何设计主键索引及如何根据主键索引查询 5.索引的物理存储结构 6.更新数据时自动维护的聚簇索引 ...
- Jenkins篇-权限管理
我使用 权限管理插件是Role Strategy Plugin,他可以对构建的项目进行授权管理,让不同的用户管理不同的项目,将不同环境的权限进行区分 1)安装插件 系统管理>插件管理查找Role ...