C#實現圖片文字識別

這幾年的AI的發展,使得文字識別難度大大降低、精度大大的提高。百度飛漿就是一個非常好的AI框架,而且是開源的。

圖片

我們利用百度飛漿就能快速簡單的實現文字識別功能,幾行代碼就可以集成。

其中百度飛漿的PaddleOCR,就是專門針對文本識別的開發套件,包含的功能有:文本失敗、文本檢測、表格識別,支持中英文數字組合的識別、豎排、長文本識別,而且還針對小圖做了優化,大大提升準確率。

下面我們一起來看看,如何使用百度飛漿實現文字識別:

一、新建項目

新建一個控制臺項目。

圖片

二、安裝依賴包

通過NuGet,安裝依賴包:PaddleOCRSharp。

圖片

PaddleOCRSharp是Github的開源項目,是基于百度飛漿C++代碼封裝的.Net類庫,其中支持PaddleOCR版本是**release2.5。**如果大家需要最新版本,或者其他模型,也可以自行封裝。

項目地址:https://github.com/raoyutian/PaddleOCRSharp

安裝依賴后,我們就可以看到很多dll庫。

圖片

三、編寫識別代碼

識別圖片的文字,并打印,代碼如下:

using PaddleOCRSharp;PaddleOCREngine engine;//中英文模型V3模型
OCRModelConfig config = null;//OCR參數
OCRParameter oCRParameter = new OCRParameter();
oCRParameter.cpu_math_library_num_threads = 6;//預測并發線程數
oCRParameter.enable_mkldnn = true;//是否使用mkldnn模型
oCRParameter.cls = false; //是否執行文字方向分類
oCRParameter.use_angle_cls = false;//是否開啟方向檢測
oCRParameter.det_db_score_mode = true;//是否使用多段線,即文字區域是用多段線還是用矩形,
oCRParameter.det_db_unclip_ratio = 1.6f;
oCRParameter.max_side_len = 2000;//初始化OCR引擎
engine = new PaddleOCREngine(config, oCRParameter);var imagebyte = File.ReadAllBytes("1.png");
OCRResult ocrResult = engine.DetectText(imagebyte);
Console.WriteLine(ocrResult.Text);

四、執行效果如下

圖片

識別速度、效果還是非常好的。

- End -

推薦閱讀

推薦一個支持低代碼開發的OA開源系統

一個基于.Net Core+Vue+Element Ui開發的OA系統

一個基于NetCore模塊化、多租戶CMS系統

一個基于EntityFrameworkCore+Lucene實現的全文搜索引擎庫

盤點6個.NetCore+Vue前后端分離的開源項目

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/84070.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/84070.shtml
英文地址,請注明出處:http://en.pswp.cn/web/84070.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Android Framework 調用棧

在Android Framework開發中,添加調用棧(Call Stack)是調試復雜問題(如崩潰、死鎖或流程追蹤)的核心手段。 一、Java層調用棧添加 適用于Activity、Service等組件或Framework中的Java代碼。 基礎方法: 使用…

Ollama安裝非系統盤操作方法(2025年6月測試通過)

Ollama是當前部署大模型比較便利的工具,但是默認會將軟件和模型都安裝到C盤下,導致系統盤爆表,建議將軟件和模型都放置在非系統盤。 1. 軟件安裝在非系統盤 (1)在D盤下手動創建ollama目錄 (2&#xff09…

《HTTP權威指南》 第1-2章 HTTP和URL基礎

HTTP請求基礎 格式化數據塊稱為HTTP報文 請求報文:從客戶端發往服務器的HTTP報文,只有請求起始行請求首部,沒有請求主體 響應報文:從服務器發往客戶端的報文,包含響應起始行響應首部響應主體 HTTP報文通過傳輸控制…

9. TypeScript 泛型

TypeScript 中的泛型使開發者能夠編寫靈活、可重用的代碼,同時保持類型安全。它們允許動態定義類型,確保函數、類和接口可以適用于任何數據類型。這有助于避免重復,提高代碼的模塊化,使其既類型安全又具備適應性。 一、認識泛型 …

Apache Iceberg與Hive集成:分區表篇

一、Iceberg分區表核心概念與Hive集成原理 1.1 分區表在大數據場景的價值 在大規模數據分析中,分區表通過將數據按特定維度(如時間、地域、業務類型)劃分存儲,可顯著提升查詢效率。Apache Iceberg的分區表設計融合了Hive的分區理…

SAST + IAST + DAST 全鏈路防護體系構建方案

🔥「炎碼工坊」技術彈藥已裝填! 點擊關注 → 解鎖工業級干貨【工具實測|項目避坑|源碼燃燒指南】 1. 生命周期分層嵌入(防御縱深) 階段工具防護重點集成觸發點編碼階段SAST源碼漏洞(硬編碼密鑰、SQL注入模式&#x…

pnpm link如何不踩坑

前提一:我有一個source-project源碼庫,有一個develop-project項目庫。想使用pnpm link對source-project進行本地調試。 前提二:source-project源碼庫已打包 本地調試詳細步驟如下: 1、檢查是否配置了系統環境變量,P…

vue3 javascript 多字段求和技巧

在 Vue 3 中,如果你需要在一個組件中處理多個字段的求和,你可以通過計算屬性(computed properties)或者方法(methods)來實現。這里我將展示兩種主要的方法: 方法 1:使用計算屬性&am…

【LeetCode】每日一題 —— No.3405

LeetCode 3405 統計恰好有 K 個相等相鄰元素的數組數目&#xff08;DP 構造型&#xff09; 題目概述 我們需要統計長度為 n 的數組 arr 滿足如下條件的方案數&#xff1a; 每個元素在區間 [1, m] 之間恰好存在 k 個位置 i (1 ≤ i < n) 滿足 arr[i] arr[i - 1] 也就是說…

Elsa Workflows: .NET 的開源工作流引擎簡介

文章目錄 Elsa Workflows&#xff1a; .NET 的開源工作流引擎核心定位與理念關鍵特性與優勢當前 (Elsa 3) 的已知限制/待完善項總結 Elsa Workflows&#xff1a; .NET 的開源工作流引擎 Elsa Workflows 是一個開源的、模塊化的 .NET 庫集合&#xff0c;旨在為 .NET 應用程序提…

linux虛擬機yum命令報錯解決方案

問題 假如出現了這樣的問題&#xff0c;可能是虛擬機yum庫存在問題 解決方法 1、打開cmd&#xff0c;輸入ssh root地址&#xff0c;比如ssh root192.168.222..111&#xff0c;選yes&#xff0c;輸入虛擬機密碼 2、使用yum repolist,查看倉庫狀態&#xff0c;status下面如果是…

C++ 第一階段 基本語法 - 第一節:變量與數據類型詳解

目錄 一、變量與數據類型概述 1.1 什么是變量&#xff1f; 1.2 數據類型分類 二、基本數據類型詳解 2.1 整型&#xff08;int, short, long&#xff09; 2.1.1 常見整型類型 2.1.2 代碼示例 2.1.3 注意事項 2.2 浮點型&#xff08;float, double&#xff09; 2.2.1 浮…

CppCon 2017 學習:CNL: A Compositional Numeric Library

你說的這段關于浮點數的問題總結得很精準&#xff0c;我幫你整理一下&#xff0c;讓理解更清晰&#xff1a; The Problem with Floating-Point&#xff08;浮點數的問題&#xff09; 復雜的表示結構 浮點數由符號位 &#xff0c;有效數&#xff08;significand/mantissa&…

linux基礎重定向及組合重定向

一、基礎重定向操作符 ?類別? ?操作符? ?含義? ?示例? ?備注? ?標準輸出? > 覆蓋寫入 stdout 到文件 ls > file.txt 文件不存在則創建&#xff0c;存在則清空內容 >> 追加 stdout 到文件末尾 date >> log.txt 保留原有內容 ?標準…

佰力博科技與您探討鐵電分析儀適用場景

鐵電分析儀是一種用于測試和研究鐵電材料性能的精密儀器&#xff0c;其適用場景非常廣泛&#xff0c;涵蓋了材料科學、物理學、電子工程等多個領域。 1、材料科學與工程 鐵電分析儀廣泛應用于鐵電材料的研究&#xff0c;包括薄膜、厚膜、塊體材料以及電子陶瓷等。它能夠測試材料…

JVM 內存模型與垃圾回收機制全解析:架構、算法、調優實踐

Java 作為一門面向對象的編程語言&#xff0c;其核心優勢之一是 “一次編寫&#xff0c;到處運行” 的跨平臺特性。這一特性背后&#xff0c;Java 虛擬機&#xff08;JVM&#xff09;扮演著至關重要的角色。JVM 不僅負責解釋執行字節碼&#xff0c;還通過內存管理和垃圾回收機制…

自然語言處理相關基本概念

基本概念章節總結 一、語言學&#xff08;Linguistics&#xff09; 定義 研究語言的本質、結構和發展規律的科學&#xff0c;涵蓋語音、文字、語法等屬性。分支包括歷時語言學、共時語言學、描述語言學等。 核心內容 分析語言的形態、句法、語義等層面&#xff0c;如詞素&…

Vue購物車應用實現教程

文章目錄 1. 項目介紹2. 開發環境準備3. 設計購物車界面4. 創建Vue實例和數據模型5. 實現購物車功能5.1 從本地存儲加載數據5.2 監聽數據變化保存到本地存儲5.3 實現全選/反選功能5.4 計算選中商品的總價和總數量5.5 實現修改商品數量功能5.6 實現刪除商品功能5.7 實現結算功能…

雙因子認證如何讓Windows系統登錄更安全?SLA操作系統雙因素認證解決方案深度解析

引言&#xff1a;數字化轉型下的身份認證危機 在云計算與遠程辦公普及的2025年&#xff0c;企業信息系統正面臨前所未有的安全挑戰。微軟Azure Virtual Desktop漏洞事件、Citrix數據泄露等安全事件頻發&#xff0c;暴露出傳統密碼認證體系的致命缺陷。據《2025年云安全威脅報告…

FPGA基礎 -- Verilog語言要素之值集合

一、Verilog 值集合&#xff08;Value Set&#xff09; Verilog 是一種面向硬件建模的描述語言&#xff0c;為了更真實地模擬硬件行為&#xff0c;它并不僅僅像 C 語言那樣只有 0 和 1 兩種值&#xff0c;而是采用了四值邏輯&#xff08;Four-valued logic system&#xff09;…