网站转化率分析工具,完整网站建设教程,移动端使用wordpress富文本编辑器,电脑做网站服务器WIN7 买个域名前言
前篇文章使用Tesseract进行图片文字识别介绍了如何安装TesseractOCR与TesseractOCR的命令行使用。但在日常使用过程中#xff0c;命令行使用还是不太方便的#xff0c;因此今天介绍一下如何使用WPF/C#构建TesseractOCR简单易用的用户界面。
普通用户使用
参照上一篇教…前言
前篇文章使用Tesseract进行图片文字识别介绍了如何安装TesseractOCR与TesseractOCR的命令行使用。但在日常使用过程中命令行使用还是不太方便的因此今天介绍一下如何使用WPF/C#构建TesseractOCR简单易用的用户界面。
普通用户使用
参照上一篇教程在本地安装好TesseractOCR之后在GitHub的Release页面进行下载。
GitHub地址https://github.com/Ming-jiayou/TesseractOCR-GUI 推荐选择依赖框架的压缩包体积比较小 解压如下所示 双击打开即可使用如果显示你没有安装框架点击链接下载安装一下框架即可打开使用。
识别中文 识别英文 使用非常简单方便。
WPF/C#程序员使用
经过简单的调研发现构建TesseractOCR-GUI主要可以通过两种方式。一种就是对命令行的使用进行封装另一种就是对TesseractOCR的C API进行封装。
对命令行的使用进行封装比较简单而且目前暂时也满足了我的使用需求因此目前只实现了这种方式pytesseract好像也是使用的这种方式。第二种调用Tesseract C API的方式可能得等第一种对命令行的使用进行封装无法满足需求的时候才会去探索了。
项目结构 开发工具Visual Studio 2022
.NET版本.NET 8
使用的包Prism WPF UI
核心代码 private void ExecuteOCRCommand(){string command;switch(SelectedLanguage){case 中文:command $tesseract {SelectedFilePath} stdout -l chi_sim quiet;break;case 英文:command $tesseract {SelectedFilePath} stdout -l eng quiet;break;default:command $tesseract {SelectedFilePath} stdout -l chi_sim quiet;break;} // 创建一个新的 ProcessStartInfo 对象ProcessStartInfo processStartInfo new ProcessStartInfo{FileName cmd.exe, // 使用 cmd.exe 作为命令解释器Arguments $/c {command}, // 传递命令作为参数/c 表示执行命令后退出RedirectStandardOutput true, // 重定向标准输出RedirectStandardError true, // 重定向标准错误UseShellExecute false, // 不使用 Shell 执行CreateNoWindow true, // 不创建新窗口StandardOutputEncoding Encoding.GetEncoding(UTF-8), // 设置标准输出的编码StandardErrorEncoding Encoding.GetEncoding(UTF-8) // 设置标准错误的编码};// 创建一个新的 Process 对象Process process new Process{StartInfo processStartInfo};// 启动进程process.Start();// 读取输出OCRText process.StandardOutput.ReadToEnd();// 读取错误如果有string error process.StandardError.ReadToEnd();// 等待进程退出process.WaitForExit();}最后
本项目可以帮助人们更简单方便地使用TesseractOCR对WPF/C#新手程序员也可以当作一个简单的练手小项目。
如果对你有所帮助点颗star就是最大的支持