您的位置 首页 > 腾讯云社区

win10 uwp 使用 OCR 光学字符识别---林德熙

在 UWP 里面可以很方便通过 Windows.Media.Ocr.OcrEngine 识别图片的字符,其实老周有写过这一篇技术博客,今天有小伙伴在问如何实现,我还以为老周的博客过时了,于是重新复制老周的代码跑了一次,然后就通过了

在老周的 【Win10 应用开发】OCR识别 博客还是 UAP 的代码,此时 UWP 还没发布,不过在 UWP 发布之后也没有改这部分的 API 也就是可以直接复制代码运行

欢迎小伙伴新建一个 UWP 应用,在某个按钮的点击事件里面复制下面的代码

private async void Button_OnClick(object sender, RoutedEventArgs e) { var picker = new Windows.Storage.Pickers.FileOpenPicker(); picker.FileTypeFilter.Add(".png"); // 选择文件 var imgFile = await picker.PickSingleFileAsync(); if(imgFile != null) { using (var inStream = await imgFile.OpenReadAsync()) { // 解码图片 var decoder = await Windows.Graphics.Imaging.BitmapDecoder.CreateAsync(Windows.Graphics.Imaging.BitmapDecoder.PngDecoderId, inStream); // 获取图像 var swbmp = await decoder.GetSoftwareBitmapAsync(); // 准备识别 Windows.Globalization.Language lang = new Windows.Globalization.Language("zh-CN"); // 判断是否支持简体中文识别 if (Windows.Media.Ocr.OcrEngine.IsLanguageSupported(lang)) { var engine = Windows.Media.Ocr.OcrEngine.TryCreateFromLanguage(lang); if (engine != null) { var result = await engine.RecognizeAsync(swbmp); if (result != null) { var dialog = new Windows.UI.Popups.MessageDialog($"识别内容 {result.Text}"); await dialog.ShowAsync(); } } } else { var dialog = new Windows.UI.Popups.MessageDialog("不支持简体中文的识别。"); await dialog.ShowAsync(); } } } }

上面代码和老周的博客有一点不同的是我添加了很多命名空间,这样大概复制上面代码就可以跑起来了

代码的主要逻辑是 var engine = Windows.Media.Ocr.OcrEngine.TryCreateFromLanguage(lang); 创建识别引擎,然后通过 var result = await engine.RecognizeAsync(swbmp); 解析文本

---来自腾讯云社区的---林德熙

关于作者: 瞎采新闻

这里可以显示个人介绍!这里可以显示个人介绍!

热门文章

留言与评论(共有 0 条评论)
   
验证码: