文字识别环境的搭建

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

零、common environment

输入如下命令安装一些必要的配置:

复制代码
sudo apt-get install build-essential

sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

sudo apt-get install gcc g++ automake
复制代码

  

一、worker 环境:

1、安装gearman:

(1)安装一些必要的libs:

sudo apt-get install gcc autoconf bison flex libtool make

sudo apt-get install libboost-all-dev libcurl4-openssl-dev curl libevent-dev memcached uuid-dev libsqlite3-dev libmysqlclient-dev gperf

 (2)安装gearman-1.1.12:

执行如下命令解压gearman-1.1.12:

tar -zxvf gearman-1.1.12.tar.gz

 之后会生成文件夹,然后跳转到解压之后的文件夹中执行此命令:

sudo ./configure --with-boost-libdir=/usr/lib/i386-linux-gnu/

sudo make & sudo make install

 执行上方第二条命令时,出现如下错误:

5e8ec5de-3dec-491b-8e40-2dc9c5ac32ab

 如果输入上面的第二条命令时真的出错的话,那就改成输入如下命令吧:

./configure
make
sudo make install

 

然后,输入如下命令查看gearman版本:

gearmand -V

效果如下:

d6cb48df-c3e1-4292-96b3-07c2d698163a

 上图中,既然版本都能看到了,那说明gearmand是肯定安装成功了的嘛。

  2).wrong!!(错误的安装方式)

    >>sudo apt-get install gearman( wrong : low vision)

    ( sudo apt-get install gearman gearman-job-server gearman-tools libboost-program-options1.54.0  libgearman7 libmemcached10 libpq5 memcached)

 

2、install curl:(提供web服务库)

sudo apt-get install curl libcurl3 libcurl3-dev php5-curl

 

3、安装libiconv:(解决乱码问题)

解压libiconv-1.13.1.tar.gz,然后安装。此时,需要输入如下命令来完成:

tar -zxvf libiconv-1.13.1.tar.gz
cd libiconv-1.13.1/

./configure
make
sudo make install

 

4、安装rapidjson:(解析json数据)

解压rapidjson-1.0.2.tar.gz:

tar -zxvf rapidjson-1.0.2.tar.gz 

copy the directory ./include/rapidjson to /usr/include/:

cd rapidjson-1.0.2/

sudo cp ./include/rapidjson /usr/include/ -a

  

二、安装OCR环境:

1、安装tesseract库:

(1)安装必要的库:

sudo apt-get install libtool libpng12-dev libjpeg62-dev libtiff4-dev zlib1g-dev

 (2)解压并安装leptonica-1.70.tar.gz:

tar -zxvf leptonica-1.70.tar.gz

./configure & make & sudo make install //跳转到解压好的文件夹执行这个命令

 (3)解压并安装tesseract-ocr-3.02.02.tar.gz:

tar -zxvf tesseract-ocr-3.02.02.tar.gz

./confugure & make & sudo make install

 (4)将tesseract_lang_libs.tar解压,然后解压得到的三个文件,都要复制到目录/usr/local/share/tessdata/下:先在目录/usr/local/share/tessdata/中创建空的文件夹tesseract_lang_libs,然后将复制三个文件。

为啥要复制到这个目录呢, 根据后面运行工人程序报的错误就可以提示出:

84eab540-9893-4c7f-9041-edd1ed824bc0

(5)配置环境变量:

将文件/etc/bash.bashrc打开,然后在末尾添加下面这句话:

      "export TESSDATA_PREFIX=/usr/tesseract-ocr/"

 

2、安装opencv:

(1)解压opencv-2.4.11.zip:

unzip opencv-2.4.11.zip

 (2)进入到opencv目录:

cd opencv-2.4.11/

cmake .
make
sudo make install

 (3)update pre-load library:

vim /etc/ld.so.conf.d/opencv.conf

 在这个文件的末尾加入如下内容:

/usr/local/lib

 然后执行如下命令:(百度一下,linux中ldconfig命令的意思)

sudo ldconfig

 (4)配置环境变量:

sudo vim /etc/bash.bashrc

 在这个文件的末尾加入如下内容:

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH

 

3、安装mysql数据库:

sudo apt-get install mysql-server mysql-client

 然后设置数据库的密码。

继续输入如下命令:(这个命令是干什么的?)

sudo apt-get install libmysqlclient-dev

 

三、install samba服务器:(目的是做win7和ubuntu之间的文件共享)

(1)执行下面这条命令就可以安装了:

sudo apt-get install samba

 或者用下面这条命令也是可以安装的:sudo yum -y install samba

(2)修改samba的配置文件:

将下面的内容放到/etc/samba/smb.conf文件的最后面:

  [smyhvae]

     comment = smyhvae

     path = /home/smyhvae

     writable = yes

注:上面的“smyhvae”指的是我自己的用户名,你要改成你自己的。 

*add your user to samba user:

sudo smbpasswd -a smyhvae

 

注:上面的“smyhvae”指的是我自己的用户名,你要改成你自己的。 

 

--------------------分割线中的内容请先忽略------------------------------

这面这两个命令是干嘛的?(先忽略吧)

cd pro2/src/
vim makefile

 

ab4efcb8-5fd0-41a7-9edb-306122c1855e

然后输入如下命令:

make

--------------------------------------------------------------------------------------------------------------

 

四、数据库表的创建:

de89775b-1a4c-4f7b-b94c-10afa3178d05

上图的目录介绍:

temp_coord:文本定位

temp_inf:模板信息

temp_str:忘了。。。

 

1、修改数据库的用户名和密码,有下面这几个文件涉及到用户名和密码,改成统一的即可:

(1)文件1:

c2341e6b-25c6-41f2-8234-9a1e3dc49ee6

8af91b8c-8f7e-4845-a5af-be64c76711a5

上图红框部分是数据库的登录密码。

(2)文件2:

8c130f34-4f11-4973-99e3-d9a3e52c979c

2001a344-cad7-4873-b273-682a15ea09a3

(3)文件3:

d1f1456a-5132-418a-9c39-0f9e2feb2d2d

3fe7a5b2-8fa2-47f9-b25d-123c599c7a9a

(4)文件4:

6e8b2722-c152-4c6f-b033-5ebc7ff5d26c

49c1776a-729e-488b-b2ee-95db427e17f6

 

2、导入数据库:

30a2224a-f3cb-4ec6-84cf-ac1b3a3d48d2

输入如下命令进入数据库的命令行操作:

mysql -u root -p

 然后输入密码即可。

b3b53ca1-6b1c-4e5d-8293-529f7349e694

输入如下命令,创建上图中的四个数据库:

复制代码
create database rboxasim;

create database rboxasim;

create database template_inf;

create database template_string;
复制代码

 然后四个表就创建成功了:

6089c815-1549-4339-9cc6-745a38454a5d

 

 

导入第一个数据库:

复制代码
use rboxasim

source /home/smyhvae/Documents/OCR/tools/database/ocr_rboxasim.sql

show tables;

select * from ap_table;
复制代码

 上方的四行命令中,02行是导入数据库,03和04行是查询表。查询表的效果如下:

155c239f-3bc6-4fa0-a728-9ed2a06308ba

重复上面的四个命令,依次导入其他三个数据库。

在project2的src目录中执行如下命令就可以运行工人程序:

./worker

  

其他补充:

OCR\src\pro2\src目录下的ocr_worker.cc文件:

ab4c7524-69fe-4dd9-bef4-65d34ca54617

上图中的ip指的是gearman应用对应的ip。

 

OCR\src\pro2\src目录下的ocr_file.h文件:

2d735800-62f9-423d-9361-eb117693b61d

上图红框部分指的是worker保存图片的目录。

现在,开始在linux中创建这个目录:

5925b179-1c8f-40aa-90db-a1cb1664a86f

因为这个目录是root用户的,现在。。。忘了。。。问张平。。。

 

worker的监管程序:

65f4fd69-79bf-458b-ade6-166d97fc54ff


相关文章
|
4天前
|
文字识别 Java API
文字识别OCR里这些包
【2月更文挑战第7天】文字识别OCR里这些包
15 1
|
6天前
|
文字识别 API 开发工具
阿里云文字识别OCR服务确实支持将识别结果以键值对(key-value)的形式返回
【2月更文挑战第5天】阿里云文字识别OCR服务确实支持将识别结果以键值对(key-value)的形式返回
18 3
|
2月前
|
机器学习/深度学习 文字识别 算法
文字识别OCR技术在表格识别方面的确已经取得了一些进展
文字识别OCR技术在表格识别方面的确已经取得了一些进展【1月更文挑战第24天】【1月更文挑战第117篇】
31 3
|
2月前
|
文字识别 安全 API
文字识别OCR的私有化部署
文字识别OCR的私有化部署【1月更文挑战第24天】【1月更文挑战第116篇】
24 1
|
3天前
|
文字识别 小程序 测试技术
网易私有云新增的测试驱动力,Airtest-ocr文字识别点击真香!
网易私有云新增的测试驱动力,Airtest-ocr文字识别点击真香!
|
3月前
|
人工智能 文字识别
文字识别OCR怎么查询剩余流量和有效期呢?
文字识别OCR怎么查询剩余流量和有效期呢?
34 1
|
5月前
|
人工智能 文字识别
文字识别OCR提示这个报错 ,怎么解决?Timeout on reading data from socket
文字识别OCR提示这个报错 ,怎么解决?Timeout on reading data from socket
73 1
|
4天前
|
文字识别 API 开发工具
当您使用OCR服务进行页面图片文字识别时,接口返回的结果通常是一个字典
【2月更文挑战第7天】当您使用OCR服务进行页面图片文字识别时,接口返回的结果通常是一个字典
12 4
|
6天前
|
文字识别 安全 API
阿里云文字识别OCR的发票凭证识别功能可以通过API接口的形式进行调用
【2月更文挑战第5天】阿里云文字识别OCR的发票凭证识别功能可以通过API接口的形式进行调用
21 5
|
6天前
|
JSON 文字识别 API
文字识别OCR服务通常提供了一种API接口
【2月更文挑战第5天】文字识别OCR服务通常提供了一种API接口
17 4