是的,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进行图片文字的实时识别。