欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#?手寫識(shí)別的實(shí)現(xiàn)示例

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

書寫識(shí)別,網(wǎng)上的大佬們都有輸出。

書寫識(shí)別存在的2個(gè)問題:

我結(jié)合之前開發(fā)經(jīng)驗(yàn),整理下書寫識(shí)別比較完善的方案。

單個(gè)字的識(shí)別方案

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

這里單字識(shí)別,想要提高識(shí)別率,可以將stroke合并成一個(gè):

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

多字的識(shí)別方案

 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文件有四個(gè)。

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

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

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

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

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

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

相關(guān)文章

  • C#實(shí)現(xiàn)將PPT轉(zhuǎn)換成HTML的方法

    C#實(shí)現(xiàn)將PPT轉(zhuǎn)換成HTML的方法

    這篇文章主要介紹了C#實(shí)現(xiàn)將PPT轉(zhuǎn)換成HTML的方法,非常實(shí)用的功能,需要的朋友可以參考下
    2014-08-08
  • C#中基數(shù)排序算法的原理及實(shí)現(xiàn)

    C#中基數(shù)排序算法的原理及實(shí)現(xiàn)

    基數(shù)排序算法是一種非比較式的排序方法,通過分配和收集步驟對(duì)數(shù)字的每一位進(jìn)行排序,學(xué)習(xí)基數(shù)排序有助于提高排序效率,解決特定問題,廣泛應(yīng)用于多個(gè)領(lǐng)域如數(shù)據(jù)分析和數(shù)據(jù)庫索引建立等
    2024-10-10
  • Unity實(shí)現(xiàn)旋轉(zhuǎn)扭曲圖像特效

    Unity實(shí)現(xiàn)旋轉(zhuǎn)扭曲圖像特效

    這篇文章主要為大家詳細(xì)介紹了Unity實(shí)現(xiàn)旋轉(zhuǎn)扭曲圖像特效,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • C#對(duì)Access進(jìn)行增刪改查的完整示例

    C#對(duì)Access進(jìn)行增刪改查的完整示例

    本文主要是講C#對(duì)Access數(shù)據(jù)庫的增刪改查操作,想學(xué)習(xí)C#和Access數(shù)據(jù)庫操作基礎(chǔ)的可以參考借鑒,以下代碼都經(jīng)過實(shí)踐測(cè)試可用,下面跟著小編一起來看看。
    2016-08-08
  • 淺談c#開發(fā)者應(yīng)該了解的15個(gè)特性

    淺談c#開發(fā)者應(yīng)該了解的15個(gè)特性

    本文列舉了15個(gè)值得了解的C#特性,旨在讓.NET開發(fā)人員更好的使用C#語言進(jìn)行開發(fā)工作。
    2021-05-05
  • Unity UGUI教程之實(shí)現(xiàn)滑頁效果

    Unity UGUI教程之實(shí)現(xiàn)滑頁效果

    使用UGUI提供的ScrollRect和ScrollBar組件實(shí)現(xiàn)基本滑動(dòng)以及自己控制每次移動(dòng)一頁來達(dá)到滑頁的效果。具體實(shí)現(xiàn)思路請(qǐng)參考下本教程
    2016-04-04
  • 秒表計(jì)時(shí)器以及STOPWATCH(實(shí)例講解)

    秒表計(jì)時(shí)器以及STOPWATCH(實(shí)例講解)

    下面小編就為大家分享一篇秒表計(jì)時(shí)器以及STOPWATCH(實(shí)例講解),具有很好的參考價(jià)值,希望對(duì)大家有所幫助
    2017-11-11
  • winform 實(shí)現(xiàn)控制輸入法

    winform 實(shí)現(xiàn)控制輸入法

    在工作中遇到這樣一個(gè)問題,在系統(tǒng)使用過程中,輸入法會(huì)變灰導(dǎo)致無法使用輸入法輸入文字,就好像輸入法被禁用了沒有啟用似的。對(duì)此,在這里做個(gè)備錄
    2015-08-08
  • C# Assembly.Load案例詳解

    C# Assembly.Load案例詳解

    這篇文章主要介紹了C# Assembly.Load案例詳解,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • 解析C#網(wǎng)絡(luò)編程中的Http請(qǐng)求

    解析C#網(wǎng)絡(luò)編程中的Http請(qǐng)求

    這篇文章主要介紹了C#網(wǎng)絡(luò)編程中的Http請(qǐng)求,不過這次也使我對(duì)C#網(wǎng)絡(luò)編程了解的更多,算是一次學(xué)習(xí)經(jīng)歷吧,文章結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-03-03

最新評(píng)論