跨平台Windows和Linux(银河麒麟)操作系统OCR识别应用
1 运行效果
代码下载链接: https://pan.baidu.com/s/1NUfLTjk6kzXJKsaH7yo4qA?pwd=rk5c 提取码: rk5c。
在银河麒麟桌面操作系统V10(SP1)上运行OCR识别效果如下图:

2 在Linux上安装Tesseract OCR引擎
2.1 下载tesseract-ocr和leptonica
https://codeload.github.com/tesseract-ocr/tesseract/tar.gz/5.2.0
http://www.leptonica.org/source/leptonica-1.82.0.tar.gz
以上是在浏览器上下载,用linux的wget方式下载
wget https://github.com/tesseract-ocr/tesseract/archive/5.2.0.tar.gz
wget http://www.leptonica.org/source/leptonica-1.82.0.tar.gz
注意版本号:使用的是tesseract.5.2.0 和 leptonica-1.82.0
下载好之后,上传到linux服务器上的新目录中,比如:/home/wxzz
2.2 安装
依次执行以下命令
cd /home/wxzz
tar -xvf leptonica-1.82.0.tar.gz
cd leptonica-1.82.0
./configure
make
make install
apt install automake
apt install libtool
tar -xvf tesseract-5.2.0.tar.gz
cd tesseract-5.2.0
./autogen.sh
./configure
make
make install
sudo ldconfig
2.3 配置环境变量
/*打开文件*/
vim /etc/profile
/*在文件末尾添加*/
export LD_LIBRARY_PATH=/usr/local/lib
export LIBLEPT_HEADERSDIR=/usr/local/include
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
export TESSDATA_PREFIX=/usr/local/share/tessdata
/*立即生效*/
source /etc/profile
2.4 下载语言包
//中文简体
https://raw.githubusercontent.com/tesseract-ocr/tessdata/4.00/chi_sim.traineddata
//英文
https://raw.githubusercontent.com/tesseract-ocr/tessdata/4.00/eng.traineddata
目前最新版本是 4.00,将下载好的语言包上传到linux服务器指定目录中:/usr/local/share/tessdata
2.5 测试是否安装成功
tesseract --version
如果安装成功,如下图:

2.6 测试读取图片内容
tesseract ocr.png output -l chi_sim
可能会报错提示,看一下实际有没有文件输出。参数说明:
ocr.png : 是要识别的图片文件
output : 是识别后的文本(output.txt)
chi_sim : 用到的语言包
3 部署项目
3.1 添加引用
新建一个NET6的项目工程,在nuget 里面 查找tesseract,添加到项目中,版本是5.2.0,如下图:

3.2 读取图片文字
C#实现的代码如:
using Tesseract;
namespace LinuxOCR
{
internal class Program
{
static string testImagePath = "ocr.png";
static void Main(string[] args)
{
string textResult = String.Empty;
using (var engine = new TesseractEngine("tessdata", "eng", EngineMode.Default))
{
using (var img = Pix.LoadFromFile(testImagePath))
{
using (var page = engine.Process(img))
{
textResult= page.GetText();
}
}
}
Console.WriteLine("识别结果:"+textResult);
Console.ReadLine();
}
}
}
项目工程目录结构,如下图:

注意:在bin\Debug\net6.0目录下有一个tessdata目录,其中的文件,来源于第2.4步骤的下载。
3.3 补齐linux上需要的文件
项目部署到linux上后,还需要在x64目录中增加两个文件:libleptonica-1.82.0.so和libtesseract50.so,把这两个文件需要从linux服务器上的文件路径复制到自己的工程中:/usr/lib/x86_64-linux-gnu/libleptonica.so 和 /usr/local/lib/libtesseract.so,并且把文件名分别改为:libleptonica-1.82.0.so和libtesseract50.so。发布后的x64目录中,然后改名如下图:
4.运行
工程发布到publish目录后,在麒麟操作上运行dotnet LinuxOCR.dll,效果如下图:
物联网&大数据技术 QQ群:54256083
物联网&大数据项目 QQ群:727664080
QQ:504547114
微信:wxzz0151
博客:https://www.cnblogs.com/lsjwq
微信公众号:iNeuOS

跨平台Windows和Linux(银河麒麟)操作系统OCR识别应用的更多相关文章
- 国产化之虚拟ARM64-CPU安装银河麒麟操作系统
背景 某个项目需要实现基础软件全部国产化,其中操作系统指定银河麒麟v4,CPU使用飞腾处理器.我本地没有这个国产的处理器,但飞腾是基于ARMv8架构的64位处理器,所以理论上基于这个CPU架构的硬件应 ...
- 银河麒麟操作系统U盘手动挂载,出现乱码
使用银河麒麟操作系统,U盘手动挂载,U盘中中文字符显示为乱码?? 对于银河麒麟操作系统的这一问题,可能是因为字符集的原因,需要在mount后加参数: sudo mount –o iochar ...
- 银河麒麟操作系统打开VMware报vmmon无法编译
使用银河麒麟操作系统打开VMware可能会报vmmon无法编译 这个时候... 将/usr/src/linux-headers-xxx/include/miscdevice.h第71行void改为in ...
- 发行版Linux和麒麟操作系统下netperf 网络性能测试
Netperf是一种网络性能的测量工具,主要针对基于TCP或UDP的传输.Netperf根据应用的不同,可以进行不同模式的网络性能测试,即批量数据传输(bulk data transfer)模式和请求 ...
- 飞腾1500A 上面银河麒麟操作系统 进行远程以及添加用户的方法 linux xrdp
1. 安装远程用的软件: sudo apt-get install xrdp vnc4server xbase-clients systemctl enable xrdp systemctl star ...
- 企业实践 | 国产操作系统之光? 银河麒麟KylinOS-V10(SP3)高级服务器操作系统基础安装篇
[点击 关注「 全栈工程师修炼指南」公众号 ] 设为「️ 星标」带你从基础入门 到 全栈实践 再到 放弃学习! 涉及 网络安全运维.应用开发.物联网IOT.学习路径 .个人感悟 等知识分享. 希望各位 ...
- [转帖]银河麒麟Kydroid 2.0全新发布:原生支持海量安卓APP
银河麒麟Kydroid 2.0全新发布:原生支持海量安卓APP https://news.cnblogs.com/n/652299/将手机操作系统 转移到 桌面 跟chromebook 类似的策略吧 ...
- 国产化之银河麒麟安装达梦数据库DM8
背景 某个项目需要实现基础软件全部国产化,其中操作系统指定银河麒麟,数据库使用DM8. 虽然在之前的文章中已经成功模拟国产飞腾处理器,但是运行效率不高,所以这里的银河麒麟操作系统还是运行在x64平台上 ...
- 银河麒麟V10安装ASP.NET Core并配置Supervisor让网站开机自动运行
银河麒麟高级服务器操作系统V10是针对企业级关键业务,适应虚拟化.云计算.大数据.工业互联网时代对主机系统可靠性.安全性.性能.扩展性和实时性的需求,依据CMMI 5级标准研制的提供内生安全.云原生支 ...
- 开源即时通讯GGTalk 8.0发布,增加Linux客户端,支持在统信UOS、银河麒麟上运行!
GGTalk在2021年推出7.0后,经过一年多时间的开发,终于推出8.0版本,实现了Linux客户端. 这几年,信创国产化的势头越来越猛,政府事企业单位都在逐步转向使用国产OS.国产CPU.国产数据 ...
随机推荐
- 部署docker-registry+ui shell 域名证书-用户认证
#部署docker-registry+ui shell docker registry 配置域名证书, 用户密码认证, 轻量UI ansible部署docker-registry+ui https:/ ...
- 【Javaweb】【Servlet】简单验证用户的登陆
点击查看代码 | jsp <%-- Created by IntelliJ IDEA. User: xrilang Date: 30/12/2021 Time: 17:31 --%> &l ...
- bridge模式下 所有容器的 网关 都是 宿主机docker0网卡的ip
bridge模式下 所有容器的 网关 都是 宿主机docker0网卡的ip
- Docker 容器运行一个 web 应用
Docker 容器安装和基础使用请看上一篇 Docker 容器运行一个 web 应用 使用 docker 构建一个 web 应用程序. docker pull training/webapp # 载入 ...
- Qt编写的项目作品33-斗图神器(雨田哥作品)
一.功能特点 支持HTTP,HTTPS网络表情图片下载,本地缓存. 采用MV模式,支持大量图片表情预览查看. 采用多线程异步下载图片刷新. 图片搜索功能(因网络提供API无信息字段提供,占搜索不了.但 ...
- matlab中mat文件的生成和读取
1.mat文件的生成 (1)直接在Matlab中创建并保存矩阵数据 打开Matlab软件,点击左上角文件(File),然后点击新建(new),选择变量(Variable),就新建了一个mat文件. 点 ...
- 在jooq的POJO类中使用Lombok的Data注解
jooq生成pojo类的配置根据官方给的如下: https://www.jooq.org/doc/3.14/manual/getting-started/tutorials/jooq-in-7-ste ...
- 如何快速在本地运行你vue打包的的dist文件
要在本机启动运行前端提供的dist包,需要先安装一个HTTP服务器,例如Apache,Nginx,phpstudy.这里以使用Node.js的http-server为例进行说明 首先,确保已经安装了N ...
- 最新AI智能体开发案例:小红书养生博主必备!教你用Coze工作流搭建「养生赛道」智能体!
嗨~我是老包.目前专注AI智能体开发与教学 ,持续分享Coze智能体.coze工作流搭建案例.** 老包用扣子为小红书养生赛道博主捏了一个神器 名字是: 「 小红书 | 爆款养生赛道图文生成器」 为什 ...
- Angular-教程
https://www.runoob.com/angularjs/angularjs-tutorial.html https://www.runoob.com/angularjs2/angularjs ...