摘要:最近要实现功能,决定用。最新的稳定版本是上有很好的安装教程,但是公司的是,和还有一点区别。提供了编译,但是不知道问什么不支持之后不能。所以最后还是选择之后指定安装路径统一用得到头文件和库下载安装生成或者添加到的头部。
最近要实现OCR功能, 决定用tesseract。最新的稳定版本是3.04. github上有很好的安装教程,但是公司的server是centos 6,和ubuntu还有一点区别。
leptonica-1.73tessaract需要用到leptonica, 安装leptonica需要另外一些库, ubuntu下的这些库,不知为何centos要用不同的名字:
#ubuntu sudo apt-get install autoconf automake libtool sudo apt-get install pkg-config sudo apt-get install libpng12-dev sudo apt-get install libjpeg8-dev sudo apt-get install libtiff5-dev sudo apt-get install zlib1g-dev
#centos sudo yum -y install libtiff libtiff-devel libjpeg-devel libpng-deve下载
git clone https://github.com/DanBloomberg/leptonica.git git tag -l git checkout tags/v1.73 git checkout -b 1.73
官方安装教程。1.73提供了cmake编译,但是不知道问什么不支持cmake之后不能make install(??)。所以最后还是选择autoconf, 之后configure指定安装路径(统一用/local/ydong/ocrlib/libs),得到头文件和库:
./configure --prefix=/local/ydong/ocrlib/libs make make installTesseract 3.04 下载:
git clone https://github.com/tesseract-ocr/tesseract.git git branch -v -a git checkout -b 3.04 remotes/origin/3.04安装
./autogen.sh 生成configure file export LIBS="stdc++" 或者添加 LIBS=“stdc++”到configure file的头部。否则会编译出错 ./configure --with-extra-libraries=/local/ydong/ocrlib/libs/lib/ --prefix=/local/ydong/ocrlib/libs/ extra lib里是leptonica make make install下载pretrained model
cd /local/ydong/ocrlib/ mkdir data cd data wget https://github.com/tesseract-ocr/tessdata/archive/master.zip unzip master.zip mv /local/ydong/ocrlib/data/tessdata-master /local/ydong/ocrlib/data/tessdata export TESSDATA_PREFIX=/local/ydong/ocrlib/data //用环境变量指定model的路径调用API
官方提供了一个简单的调用API的教程。试着编译一下,顺便复习下Makefile和LD_LIBARRY_PATH etc.
cd /local/ydong/ocrlib/ mkdir app
main.cpp:
#include#include int main() { char *outText; tesseract::TessBaseAPI *api = new tesseract::TessBaseAPI(); // Initialize tesseract-ocr with English, without specifying tessdata path if (api->Init(NULL, "eng")) { fprintf(stderr, "Could not initialize tesseract. "); exit(1); } // Open input image with leptonica library Pix *image = pixRead("/local/ydong/ocrlib/tesseract/testing/phototest.tif"); //use your own path api->SetImage(image); // Get OCR result outText = api->GetUTF8Text(); printf("OCR output: %s", outText); // Destroy used object and release memory api->End(); delete [] outText; pixDestroy(&image); return 0; }
Makefile:
CXX = g++ CFLAGS = -g -O2 -std=c++11 LIBS = -lstdc++ -llept -ltesseract INCLUDES = -I/local/ydong/ocrlib/libs/include/ LFLAGS = -L/local/ydong/ocrlib/libs/lib/ all: ocr-test ocr-test: main.cpp $(CXX) $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -o ocr-test main.cpp
编译运行:
make ./ocr-test动态库链接,rpath,LD_LIBRARY_PATH
查找动态库的优先级,rpath优先级高于LD_LIBRARY_PATH
查看ocr-test用到的动态库
ldd ocr-test ... liblept.so.5 => /local/ydong/ocrlib/libs/lib/liblept.so.5 (0x00007f26891a0000) libtesseract.so.3 => /local/ydong/ocrlib/libs/lib/libtesseract.so.3 (0x00007f2688a03000) ...
查看rpath
chrpath -l ocr-test ocr-test: no rpath or runpath tag found.
rpath会领写一篇。
rpath
-Wl,-rpath -Wl,/local/ydong/ocrlib/libs/lib
$origin
g++ -g -O2 -std=c++11 -o .libs/tesseract tesseract-tesseractmain.o -L/local/ydong/ocrlib/libs/lib/ ./.libs /libtesseract.so -lrt /local/ydong/ocrlib/libs/lib/liblept.so -lm -lz -lpng -ljpeg -ltiff -lpthread -Wl,-rpath -Wl ,/local/ydong/ocrlib/libs/lib
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/45697.html
摘要:最近要实现功能,决定用。最新的稳定版本是上有很好的安装教程,但是公司的是,和还有一点区别。提供了编译,但是不知道问什么不支持之后不能。所以最后还是选择之后指定安装路径统一用得到头文件和库下载安装生成或者添加到的头部。 最近要实现OCR功能, 决定用tesseract。最新的稳定版本是3.04. github上有很好的安装教程,但是公司的server是centos 6,和ubuntu还有...
摘要:纳入深度学习模型来进一步提升准确率只是时间问题,事实上,这个时间已经到来。最新版本支持基于深度学习的,准确率显著提高。该函数使用基于深度学习的文本检测器来检测不是识别图像中的文本区域。高效使用概率最高的文本区域,删除其他重叠区域。 By Adrian Rosebrock on September 17, 2018 in Deep Learning, Optical Character ...
摘要:是用开发的,并作为许可条款下的开放源码发布,是当前流行的企业级搜索引擎。下面,我们以接管日志为例,详细介绍如何进行配置与部署。建议修改配置前,先备份此文件。然后,确认需要对接的的日志目录,我们以下图为例。修改好上述内容后,保存退出。 本文由云+社区发表 ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTFul web接...
摘要:下升级出了有一段时间了,最近家里的机器及自己的虚拟机都升级到了。最近想把阿里云的也升级到,然后就开始升级了,以下是一些升级过程。安装最新的不通过源码包安装使用使用源安装比较好管理,就是样。与类似,将段中的改为。如果不是请参考其他资料。 CentOS6.5 下升级php7、mysql5.7 php7出了有一段时间了,最近家里的机器及自己的虚拟机都升级到了php7。准备以后新的东西全部都用...
摘要:下升级出了有一段时间了,最近家里的机器及自己的虚拟机都升级到了。最近想把阿里云的也升级到,然后就开始升级了,以下是一些升级过程。安装最新的不通过源码包安装使用使用源安装比较好管理,就是样。与类似,将段中的改为。如果不是请参考其他资料。 CentOS6.5 下升级php7、mysql5.7 php7出了有一段时间了,最近家里的机器及自己的虚拟机都升级到了php7。准备以后新的东西全部都用...
阅读 1787·2021-11-24 09:39
阅读 1220·2021-10-09 09:41
阅读 1695·2019-08-30 15:55
阅读 2047·2019-08-30 15:53
阅读 401·2019-08-29 13:16
阅读 876·2019-08-26 12:20
阅读 2272·2019-08-26 11:58
阅读 2939·2019-08-26 10:19