当前位置: 首页 > article >正文

Winform基于PaddleOCR图片文字提取方法

1.目的掌握Winform下基于Sdcb. PaddleOCR和OpenCvSharp实现图片文字的提取方法。⒉编程软件Visual Studio 2022⒊界面设计如下图设计了UI界面包括使用Button、PictureBox和RichTextBox控件本案例以下图特定图片为案例进行文字提取⒋代码简述⑴命名空间usingOpenCvSharp;usingSdcb.PaddleInference;usingSdcb.PaddleOCR;usingSdcb.PaddleOCR.Models;usingSdcb.PaddleOCR.Models.Local;usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.IO;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;usingSize OpenCvSharp.Size;namespaceWinformGetTest{publicpartialclassForm1:Form{stringselectedPicture;//图片公共变量publicForm1(){InitializeComponent();}…//内容代码}}⑵“选择文字图片”代码privatevoidbutton1_Click(objectsender,EventArgse)//获取图片{OpenFileDialogopenFileDialog newOpenFileDialog();openFileDialog.Filter Image Files(*.BMP;*.JPG;*.GIF;*.PNG)|*.BMP;*.JPG;*.GIF;*.PNG|All files (*.*)|*.*;openFileDialog.FilterIndex 1;openFileDialog.Multiselect false;if(openFileDialog.ShowDialog() DialogResult.OK){selectedPicture openFileDialog.FileName;Imageimage Image.FromFile(selectedPicture);//使用Image类加载图片pictureBox1.SizeMode PictureBoxSizeMode.Zoom;//让PictureBox完全显示图片pictureBox1.Image image;//将图片显示在PictureBox中}else{MessageBox.Show(您本次没有选择任何图片);}}⑶“图片文字提取”代码privatevoidbutton2_Click(objectsender,EventArgse)//图片文字提取{this.richTextBox1.Clear();//清空 richTextBox1 中的内容FullOcrModelmodel LocalFullModels.ChineseV3;//设置使用的 OCR 模型为中文版模型v3 版本using(PaddleOcrAllall newPaddleOcrAll(model,PaddleDevice.Mkldnn())//初始化 PaddleOCR 实例使用 MKL-DNN 加速{AllowRotateDetection true,//允许检测并识别有角度的文字Enable180Classification true,//允许识别旋转角度大于90度的文字}){//读取用户选择的图片文件using(Matsrc2 Cv2.ImRead(selectedPicture))using(Matpreprocessed PreprocessImageForOcr(src2)){PaddleOcrResultresult all.Run(preprocessed);//使用 OCR 对图片进行识别stringrawText result.Text;stringcorrectedText PostProcessOcrResult(rawText);//后处理校正(使用返回值)richTextBox1.Text correctedText;//将识别出的文本内容显示在 richTextBox1 中}}}privateMatPreprocessImageForOcr(Matsrc)//图片处理{try{Matprocessed src.Clone();// 1.转换为灰度图if(processed.Channels() 3){Cv2.CvtColor(processed, processed,ColorConversionCodes.BGR2GRAY);}// 2.使用中值滤波对文字边缘保护更好Cv2.MedianBlur(processed, processed, 3);// 3.自适应二值化比普通阈值化效果更好Cv2.AdaptiveThreshold(processed, processed, 255,AdaptiveThresholdTypes.GaussianC,ThresholdTypes.Binary, 15, 5);// 4.形态学操作去除噪点(先闭运算再开运算)Matkernel Cv2.GetStructuringElement(MorphShapes.Rect,newSize(2, 2));Cv2.MorphologyEx(processed, processed,MorphTypes.Close, kernel);//Cv2.MorphologyEx(processed, processed, MorphTypes.Open, kernel);// 5.对比度增强processed.ConvertTo(processed, -1, 1.1, 20);returnprocessed;}catch(Exceptionex){MessageBox.Show($图像预处理错误:{ex.Message});returnsrc.Clone();}}privatestringPostProcessOcrResult(stringrawText)// OCR结果后处理校正{varcorrections newDictionarystring,string//常见错别字和语法错误校正{{ 兰动化综, 自动化综 },};stringresult rawText;foreach(varcorrectionincorrections){result result.Replace(correction.Key, correction.Value);}returnresult;}在进行图片处理时参数调整对比优化此外对OCR结果后进行提取校正。⒌测试如下图针对上述图片提取文字进行测试分别为不校正和校正后的文字提取效果

相关文章:

Winform基于PaddleOCR图片文字提取方法

1.目的掌握Winform下基于Sdcb. PaddleOCR和OpenCvSharp实现图片文字的提取方法。⒉编程软件Visual Studio 2022⒊界面设计如下图设计了UI界面,包括使用Button、PictureBox和RichTextBox控件:本案例以下图特定图片为案例进行文字提取:⒋代码简…...

问题记录,JMeter运行一次有时候显示两次请求?

当使用http协议访问www.itcast.com时,结果树中有两次请求当使用https协议访问www.itcast.com时,结果树中有一次请求核心表现:在JMeter中创建单个HTTP请求(如配置http://xxx.com),点击“运行”按钮后&#x…...

SLAM算法(ROS入门)

SLAM 建图 ​ 机器人研究的问题包含许许多多的领域,我们常见的几个研究的问题包括:建图(Mapping)、定位(Localization)和路径规划(Path Planning),如果机器人带有机械臂,那么运动规划(Motion P…...

[Java EE 进阶] 一文吃透 Spring IoCDI:核心概念 + 实战用法 + 面试考点(上篇)

一.IOC&DI 介绍1. 传统程序开发 的问题 : 高耦合以 “造一辆车” 为例,传统开发中对象的创建和依赖关系由自身控制:汽⻋依赖⻋⾝,⻋⾝依赖底盘,底盘依赖轮 ;所有的对象都通过 new 手动创建 ; 当底层组件(如轮胎尺寸) 发生变化…...

计网相关协议3

DNS查询:查找域名对应IP(先浏览器缓存、本地hosts、路由器缓存,再递归/迭代DNS服务器查询)。...

2026年知网AIGC检测算法又升级了,降AI方法得跟着变

2026年知网AIGC检测算法又升级了,降AI方法得跟着变 知网在2025年底对AIGC检测系统做了一次大升级。如果你还在用去年的降AI方法,大概率过不了了。这篇说说升级了哪些地方,现在该怎么应对。 这次升级改了什么 根据最近的实测数据和公开信息…...

FLV 流解剖学:e-flv 如何用 Go 构建轻量级诊断工具

FLV 流解剖学:e-flv 如何用 Go 构建轻量级诊断工具 项目仓库:https://github.com/veovera/enhanced-rtmp 文档来源:GitHub Discussion #50 版本:早期实验版(WIP) 📌 项目概述 e-flv 是 Enhance…...

第3篇:Spring Boot + WebSocket + 消息队列STOMP协议发布订阅模式 实现多频道实时消息广播

基于发布&#xff0c;订阅&#xff0c;主题 模式&#xff0c;实现原理图前提&#xff1a;环境已经搭建好&#xff0c;具体看第二篇1 maven依赖&#xff0c;springboot 版本 3.3.1<!-- 核心包 --><dependency><groupId>org.springframework.boot</groupId…...

性能监控之 blackbox_exporter+Prometheus+Grafana 实现网络探测

文章目录一、什么是黑盒监控&#xff1f;二、blackbox_exporter 简介三、安装1、二进制包2、docker四、使用原理五、几种应用场景1、ICMP 测试&#xff08;主机探活&#xff09;2、TCP 测试&#xff08;监控主机端口存活状态&#xff09;3、HTTP检测&#xff08;监控网站状态&a…...

好软推荐-自用软件

目录导航PC应用OFFICE办公系列万彩办公大师http://www.wofficebox.com/办公必备的小工具百宝箱。iSlide插件PPT插件 [https://www.islide.cc/](https://www.islide.cc/)官方口号&#xff1a;让PPT设计简单起来&#xff01;方方格子Excel插件 [http://www.ffcell.com/](http://w…...

【2026最新版】PCL点云处理算法汇总(C++长期更新版)

博客长期更新&#xff0c;最近一次更新时间为&#xff1a;2026年3月12日。 copy pcl::copyPointCloud(*cloud, indicesY, *cloud_yboundary);read pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);if (pcl::io::loadPCDFile<…...

JMM——Java内存模型简介

JMM介绍JMM是基于CPU缓存模型实现的一套Java内存管理程序&#xff0c;都在于解决多核情况下的缓存同步问题。它定义了主存和工作内存的抽象概念&#xff0c;底层对应着CPU寄存器、高速缓存、RAM、CPU指令优化等。CPU缓存模型JMM特性可见性&#xff1a;volatile可以保证不同线程…...

多模态跟踪怎么搞?清华西电TPAMI 2025新方法深度解析,从小白到大神,吃透这一篇就够了!

创新点 针对轻量化多模态跟踪器性能骤降的问题&#xff0c;设计了覆盖四大核心阶段的教师 - 学生知识蒸馏框架&#xff0c;首次将跨模态知识蒸馏与 Transformer 基多模态跟踪深度结合。突破传统随机掩码的局限性&#xff0c;基于教师模型的注意力权重划分模态公共、模态特定、…...

C#毕业设计——基于C#+asp.net+SVG的基于SVG的自动站雨量分析系统设计与实现(毕业论文+程序源码)——雨量分析系统

基于C#asp.netSVG的基于SVG的自动站雨量分析系统设计与实现&#xff08;毕业论文程序源码&#xff09; 大家好&#xff0c;今天给大家介绍基于C#asp.netSVG的基于SVG的自动站雨量分析系统设计与实现&#xff0c;文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报…...

C#毕业设计——基于C#+asp.net+SQL server的通用作业批改系统设计与实现(毕业论文+程序源码)——作业批改系统

基于C#asp.netSQL server的通用作业批改系统设计与实现&#xff08;毕业论文程序源码&#xff09; 大家好&#xff0c;今天给大家介绍基于C#asp.netSQL server的通用作业批改系统设计与实现&#xff0c;文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板…...

C#毕业设计——基于C#+asp.net+SQL Server的课程指导平台设计与实现(毕业论文+程序源码)——课程指导平台

基于C#asp.netSQL Server的课程指导平台设计与实现&#xff08;毕业论文程序源码&#xff09; 大家好&#xff0c;今天给大家介绍基于C#asp.netSQL Server的课程指导平台设计与实现&#xff0c;文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答…...

大模型有了“身体”后,我用1分钟创造了一个AI美食专家

一、引言 &#xff1a;从今晚吃什么开始 在这个互联网几乎能解决一切问题的时代&#xff0c;我们搜菜谱、看教程、点外卖&#xff0c;但厨房里的孤独感和手忙脚乱&#xff0c;似乎从未消失。 晚上7点&#xff0c;下班回家。打开冰箱&#xff1a;有西红柿、鸡蛋、青椒、一块肉…...

asp毕业设计——基于asp+access的网上音乐网站设计与实现(毕业论文+程序源码)——网上音乐网站

基于aspaccess的网上音乐网站设计与实现&#xff08;毕业论文程序源码&#xff09; 大家好&#xff0c;今天给大家介绍基于aspaccess的网上音乐网站设计与实现&#xff0c;文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答辩PPT模板等的小伙伴…...

asp毕业设计——基于asp+access的网上选题系统设计与实现(毕业论文+程序源码)——网上选题系统

基于aspaccess的网上选题系统设计与实现&#xff08;毕业论文程序源码&#xff09; 大家好&#xff0c;今天给大家介绍基于aspaccess的网上选题系统设计与实现&#xff0c;文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答辩PPT模板等的小伙伴…...

asp毕业设计——基于asp+access的网上投票系统设计与实现(毕业论文+程序源码)——网上投票系统

基于aspaccess的网上投票系统设计与实现&#xff08;毕业论文程序源码&#xff09; 大家好&#xff0c;今天给大家介绍基于aspaccess的网上投票系统设计与实现&#xff0c;文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答辩PPT模板等的小伙伴…...

asp毕业设计——基于asp+access的网上评教系统设计与实现(毕业论文+程序源码)——网上评教系统

基于aspaccess的网上评教系统设计与实现&#xff08;毕业论文程序源码&#xff09; 大家好&#xff0c;今天给大家介绍基于aspaccess的网上评教系统设计与实现&#xff0c;文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答辩PPT模板等的小伙伴…...

asp毕业设计—— 基于asp+access的网上论坛设计与实现(毕业论文+程序源码)——网上论坛

基于aspaccess的网上论坛设计与实现&#xff08;毕业论文程序源码&#xff09; 大家好&#xff0c;今天给大家介绍基于aspaccess的网上论坛设计与实现&#xff0c;文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答辩PPT模板等的小伙伴&#xf…...

004、体系结构之TiKV分布式事务

数据找到并且修改后。此时提交事务(commit)的时候。此时就进入两阶段&#xff1a;&#xff08;prewrite - commit&#xff09; 提交的第一阶段&#xff0c;会用三个CF 来存放这些数据信息。 一类列簇对应一类键值对&#xff0c; 第一个CF(default)存放的是数据 的键值对。 第二…...

网卡驱动死机调试经验案例

一、现象 执行iperf打流后&#xff0c;不管是udp打流还是tcp打流&#xff0c;命令行没有响应&#xff0c;无法敲入任何字符&#xff0c;也没有回显&#xff0c;但一段时间后&#xff0c;串口有打印&#xff0c;查看代码后&#xff0c;发现是EMAC的DMA中断里打印的&#xff0c;打…...

“水莲花数”

#include<stdio.h>main(){int a,b,c,d;for(a100;a<999;a){ba/100;ca/10%10;d%10if(b*b*bc*c*cd*d*da)printf(“对了 %d %d %d %d\n”,a,b,c,d);}}...

探索响应式编程的瑰宝:RxJava

探索响应式编程的瑰宝&#xff1a;RxJava 【免费下载链接】RxJava ReactiveX/RxJava 是一个用于实现响应式编程的 Java 库。适合在 Java 应用开发中使用&#xff0c;提高代码的简洁性和可维护性。特点是提供了强大的响应式编程功能、易于使用的 API 和多种数据源的支持。 项目…...

探索System Design Primer:系统设计学习的宝藏库

探索System Design Primer&#xff1a;系统设计学习的宝藏库 【免费下载链接】system-design-primer 学习如何设计大型系统。为系统设计面试做准备。包含Anki记忆卡片。 项目地址: https://gitcode.com/GitHub_Trending/sy/system-design-primer 项目简介 是一个开源项…...

Slackin终极指南:2025年功能路线图与社区发展预测

Slackin终极指南&#xff1a;2025年功能路线图与社区发展预测 【免费下载链接】slackin Public Slack organizations made easy 项目地址: https://gitcode.com/gh_mirrors/sl/slackin Slackin是一款让公共Slack组织创建和管理变得简单的工具&#xff0c;它提供了从用户…...

PyMuPDF: Python接口的高效PDF处理库

PyMuPDF: Python接口的高效PDF处理库 【免费下载链接】PyMuPDF PyMuPDF is a high performance Python library for data extraction, analysis, conversion & manipulation of PDF (and other) documents. 项目地址: https://gitcode.com/gh_mirrors/py/PyMuPDF 是…...

PyPDF2: Python PDF库简介

PyPDF2: Python PDF库简介 【免费下载链接】pypdf A pure-python PDF library capable of splitting, merging, cropping, and transforming the pages of PDF files 项目地址: https://gitcode.com/gh_mirrors/py/pypdf 是一个开源的Python库&#xff0c;用于处理PDF文…...