TesseractOCR-GUI:基于WPF/C#构建TesseractOCR简单易用的用户界面
前言前篇文章利用Tesseract举行图片笔墨辨认先容了怎样安装TesseractOCR与TesseractOCR的下令利用用。但在一样寻常利用过程中,下令利用用还是不太方便的,因此本日先容一下怎样利用WPF/C#构建TesseractOCR简单易用的用户界面。
平常用户利用
参照上一篇教程,在当地安装好TesseractOCR之后,在GitHub的Release页面举行下载。
GitHub地点:https://github.com/Ming-jiayou/TesseractOCR-GUI
https://i-blog.csdnimg.cn/img_convert/93437e910a8c0a595d98f2d6899b9453.png
保举选择依赖框架的压缩包,体积比力小:
https://i-blog.csdnimg.cn/img_convert/5a7b2fb0d2138e8d6102691faea9044f.png
解压如下所示:
https://i-blog.csdnimg.cn/img_convert/ec0b52f8c377761de3143eb6a387c8f5.png
双击打开即可利用,如果表现你没有安装框架,点击链接,下载安装一下框架,即可打开利用。
辨认中文:
https://i-blog.csdnimg.cn/img_convert/aaba5d1cb0c7d9c48f824984b70262ca.png
辨认英文:
https://i-blog.csdnimg.cn/img_convert/648e346f522e191a114d67ce0d7daf75.png
利用非常简单方便。
WPF/C#步伐员利用
颠末简单的调研,发现构建TesseractOCR-GUI紧张可以通过两种方式。一种就是对下令行的利用举行封装,另一种就是对TesseractOCR的C++ API举行封装。
对下令行的利用举行封装比力简单,而且现在暂时也满意了我的利用需求,因此现在只实现了这种方式,pytesseract似乎也是利用的这种方式。第二种调用Tesseract C++ API的方式,大概得品级一种对下令行的利用举行封装无法满意需求的时间,才会去探索了。
项目结构:
https://i-blog.csdnimg.cn/img_convert/1ab0dcfa132f64f052d40e780e941023.png
开发工具: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,就是最大的支持!!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!qidao123.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金
页:
[1]