狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

【強烈推薦】C#.NET開源的OCR文字識別工具

admin
2023年9月4日 11:53 本文熱度 2106

導讀

現如今,大家對OCR的需求與日俱增,但是對我們.NET開發人員來說,卻基本并沒有什么趁手的工具,大部分都是基于Python去調用的,習慣了.NET優秀的語法,如果不是必要,其實是很不想去適應其他語言的。

這套源碼我是從去年開始接觸的,不過到最后因為沒有實際應用,所以最近沒有太多的關注,但是作者還是在不停的更新中,交流群也是非常活躍。














項目描述


PaddleOCRSharp 是一個基于百度飛槳PaddleOCR的.NET版本OCR工具類庫。項目核心組件PaddleOCR.dll,由C++編寫,根據百度飛槳PaddleOCR的C++代碼修改并優化而成。目前已經支持C++、.NET、Python、Golang、Rust等開發語言的直接API接口調用。項目包含文本識別、文本檢測、表格識別功能。本項目針對小圖識別不準的情況下做了優化,比飛槳原代碼識別準確率有所提高。包含總模型僅8.6M的超輕量級中文OCR,單模型支持中英文數字組合識別、豎排文本識別、長文本識別。同時支持中英文、純英文以及多種語言文本檢測識別。

PaddleOCRSharp封裝極其簡化,實際調用僅幾行代碼,極大的方便了中下游開發者的使用和降低了PaddleOCR的使用入門級別,同時提供不同的.NET框架使用,方便各個行業應用開發與部署。Nuget包即裝即用,可以離線部署,不需要網絡就可以識別的高精度中英文OCR。

本項目支持官方所有公開的通用OCR模型,PPOCRV2、PPOCRV3、PPOCRV4。如果使用v2模型,請設置OCR識別參數OCRParameter對象的屬性rec_img_h=32,本項目默認使用V3模型,默認rec_img_h=48:

本項目只能在X64的CPU上編譯和使用,只能在avx指令集上的CPU上使用。

本項目目前支持以下.NET框架:

net35;net40;net45;net451;net452;net46;net461;net462;net47;net471;net472;net48;net481; netstandard2.0;netcoreapp3.1; net5.0;net6.0;net7.0;net8.0

本項目提供了兩個SDK,一個是C++版本,一個是.net版本,.net版本是對C++版本的二次封裝,其他語言開發亦是調用C++版本。同時也提供了Go、Python、C++的調用示例代碼

 

 

支持的模型

 

OCR識別模型庫支持官方所有的模型,也支持自己訓練的模型。完全按照飛槳OCR接口搭橋。本項目部署自帶的一種輕量版8.6M模型庫、服務器版模型庫(更準確,需要自行下載),可以自行更改模型庫適用實際需求。

模型名稱

模型大小

下載地址

備注

ch_PP-OCRv2

10M

中英文輕量v2


en_PP-OCRv2

4M

英文數字v2


ch_PP-OCRv3

12M

中英文輕量v3


en_PP-OCRv3

10M

英文數字v3


ch_PP-OCRv4

14M

中英文輕量v4


en_PP-OCRv4

12M

英文數字v4



代碼預覽

 


 

效果預覽

 


PaddleOCRSharp的github:

raoyutian/PaddleOCRSharp: This project is modified and encapsulated by C++ code based on Baidu PaddlePaddle OCR. Net class library. It includes the table recognition function of text recognition, text detection and statistical analysis based on text detection results. At the same time, it is optimized to improve the recognition accuracy in the case of inaccurate small image recognition. The project encapsulation is extremely simplified, and the actual call is only one line of code, which greatly facilitates the use of middle and downstream developers and reduces the entry level of paddleocr. At the same time, different functions are provided Net framework to facilitate application development and deployment in various industries. (github.com)https://github.com/raoyutian/PaddleOCRSharp/tree/main


該文章在 2023/9/4 12:27:21 編輯過

全部評論2

admin
2023年9月4日 12:28

該項目只支持x64cpu編譯

一、準備環境

1、先創建一個窗體項目,添加一個按鈕(我的是VS2017)

2、項目-屬性-生成。配置和圖中一樣即可

        

二、nuget包安裝:

 三、代碼如下

  1. using PaddleOCRSharp;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.ComponentModel;
  5. using System.Data;
  6. using System.Drawing;
  7. using System.IO;
  8. using System.Linq;
  9. using System.Text;
  10. using System.Threading.Tasks;
  11. using System.Windows.Forms;
  12. namespace PaddleOCRSharp1._0
  13. {
  14. public partial class Form1 : Form
  15. {
  16. //程序全局初始化一次即可,不必每次識別都初始化,容易報錯。
  17. // 初始化OCR模型配置,默認中英文V3模型
  18. OCRModelConfig config = null;
  19. // 初始化OCR參數
  20. OCRParameter oCRParameter = new OCRParameter();
  21. // 創建一個OCR識別結果對象
  22. OCRResult ocrResult = new OCRResult();
  23. public Form1()
  24. {
  25. InitializeComponent();
  26. }
  27. private void button1_Click(object sender, EventArgs e)
  28. {
  29. // 創建對象,設置文件過濾器
  30. OpenFileDialog ofd = new OpenFileDialog();
  31. ofd.Filter = "*.*|*.bmp;*.jpg;*.jpeg;*.tiff;*.tiff;*.png";
  32. // 顯示文件選擇對話框,選擇要識別文字的圖像文件
  33. if (ofd.ShowDialog() != DialogResult.OK)
  34. {
  35. return;
  36. }
  37. // 讀取選擇的圖像文件的所有字節數據
  38. var imagebyte = File.ReadAllBytes(ofd.FileName);
  39. // 將字節數據轉換成Bitmap圖像對象
  40. Bitmap bitmap = new Bitmap(new MemoryStream(imagebyte));
  41. // 創建PaddleOCR引擎,使用之前初始化的配置和參數
  42. PaddleOCREngine engine = new PaddleOCREngine(config, oCRParameter);
  43. // 使用PaddleOCR引擎對圖像進行文字識別
  44. // OCR識別結果會保存在ocrResult對象中
  45. ocrResult = engine.DetectText(bitmap);
  46. // 如果識別結果不為空,顯示識別出的文字內容
  47. if (ocrResult != null)
  48. {
  49. // 彈出一個消息框,顯示識別出的文字內容
  50. MessageBox.Show(ocrResult.Text, "識別結果");
  51. }
  52. }
  53. }
  54. }

該評論在 2023/9/4 12:28:03 編輯過
admin
2023年9月4日 12:29

.NET示例代碼

OpenFileDialog ofd = new OpenFileDialog();
            ofd.Filter = "*.*|*.bmp;*.jpg;*.jpeg;*.tiff;*.tiff;*.png";
            if (ofd.ShowDialog() != DialogResult.OK) return;
            var imagebyte = File.ReadAllBytes(ofd.FileName);
            Bitmap bitmap = new Bitmap(new MemoryStream(imagebyte));

            OCRModelConfig config = null;
            OCRParameter oCRParameter = null;
            OCRResult ocrResult = new OCRResult();
            using (PaddleOCREngine engine = new PaddleOCREngine(config, oCRParameter))
            {
                ocrResult = engine.DetectText(bmp);
            }
            if (ocrResult != null)
            {
                MessageBox.Show(ocrResult.Text,"識別結果");
            }

關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved