C#WinForm使用PaddleOCRSharp识别图片文字

C#WinForm使用PaddleOCRSharp识别图片文字

编码文章call10242025-05-12 11:13:4711A+A-

PaddleOCRSharp是一个基于百度飞桨(PaddlePaddle)封装的.NET版本OCR工具类库,旨在为.NET开发者提供高效且简便的方式来集成OCR功能。PaddleOCRSharp是PaddleOCR的.NET封装库,使得.NET开发者能够方便地在其项目中调用PaddleOCR提供的文本识别功能。

一、效果展示

二、VS2022

NuGet安装PaddleOCRSharp

界面设计

后台编码

三、代码

引用

using PaddleOCRSharp;

选择图片

private PaddleOCREngine engine;
private void button1_Click(object sender, EventArgs e)
{
	OpenFileDialog ofd = new OpenFileDialog();
	ofd.Filter = "*.*|*.bmp;*.jpg;*.jpeg;*.tiff;*.tiff;*.png";
	if (ofd.ShowDialog() != DialogResult.OK) return;
	this.pictureBox1.Image = Image.FromFile(ofd.FileName);
}

识别文字

private void button2_Click(object sender, EventArgs e)
{
	Bitmap imagebyte = new Bitmap(pictureBox1.Image);


	OCRModelConfig config = null;
	//OCR参数
	OCRParameter oCRParameter = new OCRParameter();
	oCRParameter.cpu_math_library_num_threads = 10;//预测并发线程数
	oCRParameter.enable_mkldnn = true;//web部署该值建议设置为0,否则出错,内存如果使用很大,建议该值也设置为0.
	oCRParameter.cls = false; //是否执行文字方向分类;默认false
	oCRParameter.det = true;//是否开启方向检测,用于检测识别180旋转
	oCRParameter.use_angle_cls = false;//是否开启方向检测,用于检测识别180旋转
	oCRParameter.det_db_score_mode = true;//是否使用多段线,即文字区域是用多段线还是用矩形,
	oCRParameter.max_side_len = 1500;
	oCRParameter.rec_img_h = 48;
	oCRParameter.rec_img_w = 320;
	oCRParameter.det_db_thresh = 0.3f;
	oCRParameter.det_db_box_thresh = 0.618f;


	//初始化OCR引擎
	engine = new PaddleOCREngine(config, oCRParameter);


	//模型配置,使用默认值
	StructureModelConfig structureModelConfig = null;
	//表格识别参数配置,使用默认值
	StructureParameter structureParameter = new StructureParameter();
	PaddleStructureEngine structengine = new PaddleStructureEngine(structureModelConfig, structureParameter);


	OCRResult ocrResult = engine.DetectText(imagebyte);


	richTextBox1.AppendText(ocrResult.Text);
}

C#WinForm调用OpenCVSharp图像处理

C#WinForm调用Yolov8Net实现自动识别

点击这里复制本文地址 以上内容由文彬编程网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

文彬编程网 © All Rights Reserved.  蜀ICP备2024111239号-4