1 运行效果
在银河麒麟桌面操作系统V10(SP1)上运行OCR识别效果如下图:

2 在Linux上安装 OCR引擎
2.1 下载-ocr和
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
注意版本号:使用的是.5.2.0 和 -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/
2.5 测试是否安装成功
tesseract --version
如果安装成功,如下图:
2.6 测试读取图片内容
tesseract ocr.png output -l chi_sim
可能会报错提示,看一下实际有没有文件输出。参数说明:
ocr.png : 是要识别的图片文件
: 是识别后的文本(.txt)
: 用到的语言包
3 部署项目
3.1 添加引用
新建一个NET6的项目工程,在nuget 里面 查找,添加到项目中,版本是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();
}
}
}
项目工程目录结构,如下图:

注意:在binDebugnet6.0目录下有一个目录,其中的文件,来源于第2.4步骤的下载。
3.3 补齐linux上需要的文件
项目部署到linux上后,还需要在x64目录中增加两个文件:-1.82.0.so和.so,把这两个文件需要从linux服务器上的文件路径复制到自己的工程中:/usr/lib/-linux-gnu/.so 和 /usr/local/lib/.so,并且把文件名分别改为:-1.82.0.so和.so。发布后的x64目录中,然后改名如下图:
4.运行
工程发布到目录后,在麒麟操作上运行 .dll,效果如下图:




发表回复