是的,C#中的PaddleOCR可以用于實時識別。它支持多種語言和字符的識別,對于手寫字體、印刷字體、斜體、草體等不同形式的文字都能進行準確的識別。同時,PaddleOCR還支持批量處理和實時識別,能夠滿足不同場景下的需求。
在C#項目中實現實時識別,你需要安裝PaddleOCR的C#封裝庫,如PaddleOCRSharp,然后加載預訓練模型,讀取待識別圖片,并調用OCR模型進行實時識別。以下是一個簡單的示例代碼:
using PaddleOCRSharp;
// 引入命名空間
using System;
using System.Drawing;
namespace PaddleOCRDemo
{
public partial class Form1 : Form
{
private void btnLoadImage_Click(object sender, EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "圖片文件 (*.jpg;*.jpeg;*.png;*.bmp)|*.jpg;*.jpeg;*.png;*.bmp";
if (ofd.ShowDialog() == DialogResult.OK)
{
pictureBox1.Image = Image.FromFile(ofd.FileName);
}
}
private void btnRecognize_Click(object sender, EventArgs e)
{
if (pictureBox1.Image == null)
{
MessageBox.Show("請先加載圖片!");
return;
}
// 將圖片轉換為字節數據
var imageBytes = File.ReadAllBytes(ofd.FileName);
using (MemoryStream ms = new MemoryStream(imageBytes))
{
Bitmap bitmap = new Bitmap(ms);
// 初始化OCR模型配置和參數(這里使用默認值)
OCRModelConfig config = null;
OCRParameter ocrParameter = new OCRParameter();
// 創建PaddleOCR引擎
using (PaddleOCREngine engine = new PaddleOCREngine(config, ocrParameter))
{
// 進行文字識別
OCRResult ocrResult = engine.DetectText(bitmap);
// 顯示識別結果
if (ocrResult != null)
{
textBox1.Text = ocrResult.Text;
}
else
{
textBox1.Text = "未識別到文字";
}
}
}
}
}
}
這個示例展示了如何在C#中使用PaddleOCRSharp進行圖片文字的實時識別。