C#中OCR的靠谱方式

news/2024/10/4 1:19:57

 

https://www.cnblogs.com/xuexz/p/17905030.html

注意:使用SpireOCR时要取消目标平台【首选32位】的勾选,否则会报错。

 

C# using PaddleOCRSharp;
using Spire.OCR;namespace WinFormsApp
{public partial class Form1 : Form{public PaddleOCREngine engine;public Form1(){InitializeComponent();engine = CreateOCRParameter();// 这个只能引用一次,否则会出现内存一直增加的问题
        }#region SpireOCRprivate void SpireOCR_Click(object sender, EventArgs e){textBox1.Text = "";this.openFileDialog1.FileName = "";this.openFileDialog1.Filter = "所有文件(*.*)|*.*";if (this.openFileDialog1.ShowDialog() == DialogResult.OK){OcrScanner scanner = new OcrScanner();scanner.Scan(this.openFileDialog1.FileName);scanner.Dispose();textBox1.Text = "SpireOCR识别结果:\r\n" + scanner.Text.ToString().Split("Evaluation")[0];}}#endregion#region PaddleOCRSharppublic PaddleOCREngine CreateOCRParameter(){OCRParameter oCRParameter = new OCRParameter();oCRParameter.numThread = 6;//预测并发线程数oCRParameter.Enable_mkldnn = 1;//web部署该值建议设置为0,否则出错,内存如果使用很大,建议该值也设置为0.oCRParameter.cls = 1; //是否执行文字方向分类;默认falseoCRParameter.det = 1;//是否开启方向检测,用于检测识别180旋转oCRParameter.use_angle_cls = 1;//是否开启方向检测,用于检测识别180旋转oCRParameter.det_db_score_mode = 1;//是否使用多段线,即文字区域是用多段线还是用矩形,oCRParameter.UnClipRatio = 8.6f;oCRParameter.MaxSideLen = 960;OCRModelConfig config = null;PaddleOCREngine engine = new PaddleOCREngine(config, oCRParameter);return engine;}private void PaddleOCRSharp_Click(object sender, EventArgs e){textBox1.Text = "";this.openFileDialog1.FileName = "";this.openFileDialog1.Filter = "所有文件(*.*)|*.*";if (this.openFileDialog1.ShowDialog() == DialogResult.OK){OCRResult ocrResult = engine.DetectText(this.openFileDialog1.FileName);textBox1.Text = "PaddleOCRSharp识别结果:\r\n" + ocrResult.Text;}}#endregion}
}

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/29047.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

Selenium4自动化测试2--元素定位By.ID,By.CLASS_NAME,By.TAG_NAME

三、元素定位方式 1-通过id定位,By.ID id属性在HTML中是唯一的,因此使用id定位可以确保找到页面上唯一的元素。 由于id是唯一的,浏览器在查找元素时可以快速定位到目标元素,提高了定位的效率。 import time#pip install selenium from selenium import webdriver from sele…

hexo 博客插入本地图片时遇到的坑

哈喽大家好,我是咸鱼。 最近一直在折腾博客的事,说是 hexo 极易上手,我觉得只仅限于在安装部署的时候,随着对 hexo 的深入使用,发现遇到的问题还是挺多的。 那今天来讲一下我在把本地图片插入到 hexo 博客文章中遇到的坑。 遇到的问题 这是我的 hexo 环境: hexo: 7.2.0 n…

VectSharp一个C#轻量级矢量图形库

VectSharp 是一个功能强大的 C# 库,专门用于创建矢量图形,包括文本,不依赖任何第三方,支持跨平台运行,包括 Mac、Windows 和 Linux。使得开发者可以更容易地在他们的项目中集成矢量图形的生成和处理。https://github.com/arklumpus/VectSharp 特点:内置字体:包含了 14 种…

Mysql中的双路排序和单路排序

在Mysql中使用orderby进行排序的时候,是可以使用到索引排序的,但是需要添加一些限制条件,例如: select * from t_user where name=张三 order by name;使用这种方式就可以使用到索引,同时使用limit也是可以使用到索引的 select * from t_user order by name;通过这种方式不…

RocketMQ模型和生产实践

RocketMQ的客户端编程模型相对⽐较固定,基本都有⼀个固定的步骤。掌握这个固定步骤,对于学习其他复杂的消息模型也是很有帮助的。 消息⽣产者的固定步骤 1.创建消息⽣产者producer,并指定⽣产者组名 2.指定Nameserver地址,可以在代码中固定写IP,也可以通过配置项来写,最好…

Spring SpringMVC——前端控制器初始化过程

创建完DispatcherServlet对象时,会执行类中的init方法如果不配置 load-on-startup,那么 DispatcherServlet 将在第一次收到请求时才会被实例化和初始化。这意味着 DispatcherServlet 不会在服务器启动时立即执行创建和初始化的操作。当第一个请求到达时,Servlet 容器(如 To…

【VMware vSphere】存储提供程序中I/O 筛选器状态显示为脱机以及证书已到期的解决办法。

存储提供程序是由 VMware 提供或由第三方通过 vSphere APIs for Storage Awareness (VASA) 开发的软件组件。存储提供程序也可以称为 VASA 提供程序。存储提供程序可与包含外部物理存储和存储抽象的各种存储实体(例如 vSAN 和 Virtual Volumes)集成。存储提供程序也可以支持软…

服务器分层拓扑架构图形化显示工具

目录服务器分层拓扑架构图形化显示工具 --- HWLOC下载依赖包安装源码编译安装执行命令示例显示 PCI 层次结构参考文档服务器分层拓扑架构图形化显示工具 --- HWLOC可移植硬件局部 (hwloc) 软件包提供了现代架构分层拓扑的可移植抽象(跨操作系统、版本、体系结构等),包括 N…