最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#?手寫識別的實現示例

 更新時間:2023年08月24日 15:13:49   作者:qw_6918966011  
本文主要介紹了C#?手寫識別的實現示例,文章詳細介紹了如何使用C#語言調用OpenCV庫實現手寫識別,并通過示例程序展示了整個手寫識別過程,感興趣的可以了解一下

書寫識別,網上的大佬們都有輸出。

書寫識別存在的2個問題:

我結合之前開發(fā)經驗,整理下書寫識別比較完善的方案。

單個字的識別方案

     private List<string> Recognize(StrokeCollection strokes)
     {
         if (strokes == null || strokes.Count == 0)
             return null;
         // 創(chuàng)建識別器
         var recognizers = new Recognizers();
         var chineseRecognizer = recognizers.GetDefaultRecognizer(0x0804);
         using var recContext = chineseRecognizer.CreateRecognizerContext();
         // 根據StrokeCollection構造 Ink 類型的筆跡數據。
       using var stream = new MemoryStream();
       strokes.Save(stream);
       using var inkStorage = new Ink();
       inkStorage.Load(stream.ToArray());
       using var inkStrokes = inkStorage.Strokes;
       //設置筆畫數據
       using (recContext.Strokes = inkStrokes)
       {
           //識別筆畫數據
           var recognitionResult = recContext.Recognize(out var statusResult);
           // 如果識別過程中出現問題,則返回null
           return statusResult == RecognitionStatus.NoError ?
               recognitionResult.GetAlternatesFromSelection().OfType<RecognitionAlternate>().Select(i => i.ToString()).ToList() :
               null;
       }
   }

這里單字識別,想要提高識別率,可以將stroke合并成一個:

var points = new StylusPointCollection();
    foreach (var stroke in strokes)
    {
        points.Add(new StylusPointCollection(stroke.StylusPoints));
    }
    var newStroke = new StrokeCollection
    {
        new Stroke(points)
    };

多字的識別方案

 public IEnumerable<string> Recognize(StrokeCollection strokes)
     {
         if (strokes == null || strokes.Count == 0)
             return null;
         using var analyzer = new InkAnalyzer();
         analyzer.AddStrokes(strokes,0x0804);
         analyzer.SetStrokesType(strokes, StrokeType.Writing);
         var status = analyzer.Analyze();
       if (status.Successful)
       {
           var alternateCollection = analyzer.GetAlternates();
           return alternateCollection.OfType<AnalysisAlternate>().Select(x => x.RecognizedString);
       }
       return null;
   }
 

看下效果圖

環(huán)境及DLL引用

引用的命名空間是:Windows.Ink和MicroSoft.Ink,需要引用的DLL文件有四個。

  • IACore.dll、IALoader.dll、IAWinFX.dll,這三個DLL文件都是Intel集成顯卡驅動的重要組成部分,包含了圖形處理模塊,尤其是IAWinFX為WPF應用提供了支持硬件加速的圖形渲染。
  • Microsoft.Ink.dll

值得說明一下,Windows.Ink與Microsoft.Ink在平臺支持上不同,如果有要適配不同版本的windows,需要去上方代碼修改下

  • Microsoft.Ink支持Windows XP、Vista 和 Win7 等舊版 Windows,兼容性高。但Win10及以上版本,官方推薦使用Windows.Ink
  • Windows.Ink,則僅支持Win8以上版本

引用了上面4個DLL文件后,還有2個環(huán)境問題:

  • 在App.config文件中,對節(jié)點startup添加屬性 useLegacyV2RuntimeActivationPolicy="true"
  • 修改項目配置為x86

到此這篇關于C# 手寫識別的實現示例的文章就介紹到這了,更多相關C# 手寫識別內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 使用C#與設備接口進行無縫通信的實現技巧

    使用C#與設備接口進行無縫通信的實現技巧

    隨著物聯(lián)網、智能設備和自動化技術的快速發(fā)展,越來越多的設備需要與計算機系統(tǒng)進行實時通信,而C#作為一門強大的編程語言,憑借其廣泛的庫支持和高效的開發(fā)效率,已成為與設備接口對接的理想選擇,在本篇文章中,我們將探討如何使用C#與設備進行無縫通信
    2025-01-01
  • C#調用python腳本的方法詳解

    C#調用python腳本的方法詳解

    這篇文章主要為大家詳細介紹了C#調用python腳本的方法,文中通過示例代碼介紹的非常詳細,感興趣的朋友們下面隨著小編來一起學習學習吧
    2023-11-11
  • C#中TCP粘包問題的解決方法

    C#中TCP粘包問題的解決方法

    這篇文章主要為大家詳細介紹了C#中TCP粘包問題的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • C#學習筆記整理-迭代器模式介紹

    C#學習筆記整理-迭代器模式介紹

    下面小編就為大家分享一篇C#學習筆記整理-迭代器模式介紹,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • Unity中的Tilemap流程分析

    Unity中的Tilemap流程分析

    這篇文章給大家介紹Unity中的Tilemap流程分析,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2021-07-07
  • C#求n個數中最大值和最小值的方法

    C#求n個數中最大值和最小值的方法

    這篇文章主要介紹了C#求n個數中最大值和最小值的方法,涉及C#中max及min方法的使用技巧,需要的朋友可以參考下
    2015-05-05
  • UnityShader使用速度映射圖實現運動模糊

    UnityShader使用速度映射圖實現運動模糊

    這篇文章主要為大家詳細介紹了UnityShader使用速度映射圖實現運動模糊,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • C#棄元與異步使用與區(qū)別

    C#棄元與異步使用與區(qū)別

    棄元是一種在代碼中用于顯式忽略特定值的占位符,沒有實際存儲空間,也沒有關聯(lián)的值,本文就來介紹一下C#棄元與異步使用,具有一定的參考價值,感興趣的可以了解一下
    2026-03-03
  • Unity UI拖拽模型選擇功能

    Unity UI拖拽模型選擇功能

    這篇文章主要為大家詳細介紹了Unity UI拖拽模型選擇功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-01-01
  • C#華氏溫度和攝氏溫度相互轉換的方法

    C#華氏溫度和攝氏溫度相互轉換的方法

    這篇文章主要介紹了C#華氏溫度和攝氏溫度相互轉換的方法,涉及C#數學運算的相關技巧,非常簡單實用,需要的朋友可以參考下
    2015-07-07

最新評論

凤山县| 新田县| 商城县| 沐川县| 泸水县| 澄迈县| 雅安市| 通城县| 从化市| 微山县| 深州市| 都匀市| 大兴区| 汉阴县| 阿克苏市| 思茅市| 柘城县| 康定县| 桐庐县| 吉木萨尔县| 同仁县| 长汀县| 澜沧| 洪湖市| 佛山市| 长丰县| 满洲里市| 垣曲县| 进贤县| 岳阳县| 景泰县| 兰考县| 五指山市| 虞城县| 佛冈县| 湾仔区| 河西区| 碌曲县| 肃南| 开远市| 新野县|