文字识别环境的搭建

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
企业资质识别,企业资质识别 200次/月
简介:

零、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月前
|
文字识别
印刷文字识别使用问题之是否支持非标发票的识别
印刷文字识别产品,通常称为OCR(Optical Character Recognition)技术,是一种将图像中的印刷或手写文字转换为机器编码文本的过程。这项技术广泛应用于多个行业和场景中,显著提升文档处理、信息提取和数据录入的效率。以下是印刷文字识别产品的一些典型使用合集。
|
4月前
|
存储 文字识别 运维
印刷文字识别使用问题之如何开通统一识别
印刷文字识别产品,通常称为OCR(Optical Character Recognition)技术,是一种将图像中的印刷或手写文字转换为机器编码文本的过程。这项技术广泛应用于多个行业和场景中,显著提升文档处理、信息提取和数据录入的效率。以下是印刷文字识别产品的一些典型使用合集。
|
4月前
|
文字识别 容器
印刷文字识别使用问题之是否支持医疗检测报告识别
印刷文字识别产品,通常称为OCR(Optical Character Recognition)技术,是一种将图像中的印刷或手写文字转换为机器编码文本的过程。这项技术广泛应用于多个行业和场景中,显著提升文档处理、信息提取和数据录入的效率。以下是印刷文字识别产品的一些典型使用合集。
|
4月前
|
人工智能 文字识别 开发工具
印刷文字识别使用问题之是否支持识别并返回文字在图片中的位置信息
印刷文字识别产品,通常称为OCR(Optical Character Recognition)技术,是一种将图像中的印刷或手写文字转换为机器编码文本的过程。这项技术广泛应用于多个行业和场景中,显著提升文档处理、信息提取和数据录入的效率。以下是印刷文字识别产品的一些典型使用合集。
|
4月前
|
人工智能 JSON 文字识别
印刷文字识别使用问题之如何数电发票进行识别
印刷文字识别产品,通常称为OCR(Optical Character Recognition)技术,是一种将图像中的印刷或手写文字转换为机器编码文本的过程。这项技术广泛应用于多个行业和场景中,显著提升文档处理、信息提取和数据录入的效率。以下是印刷文字识别产品的一些典型使用合集。
|
4月前
|
文字识别 数据安全/隐私保护 iOS开发
印刷文字识别使用问题之如何识别礼品册上的卡号、密码信息
印刷文字识别产品,通常称为OCR(Optical Character Recognition)技术,是一种将图像中的印刷或手写文字转换为机器编码文本的过程。这项技术广泛应用于多个行业和场景中,显著提升文档处理、信息提取和数据录入的效率。以下是印刷文字识别产品的一些典型使用合集。
|
4月前
|
机器学习/深度学习 文字识别 API
印刷文字识别使用问题之是否支持识别香港和澳门食品经营许可证
印刷文字识别产品,通常称为OCR(Optical Character Recognition)技术,是一种将图像中的印刷或手写文字转换为机器编码文本的过程。这项技术广泛应用于多个行业和场景中,显著提升文档处理、信息提取和数据录入的效率。以下是印刷文字识别产品的一些典型使用合集。
|
4月前
|
文字识别 开发工具
印刷文字识别使用问题之是否支持识别手写体
印刷文字识别产品,通常称为OCR(Optical Character Recognition)技术,是一种将图像中的印刷或手写文字转换为机器编码文本的过程。这项技术广泛应用于多个行业和场景中,显著提升文档处理、信息提取和数据录入的效率。以下是印刷文字识别产品的一些典型使用合集。
印刷文字识别使用问题之是否支持识别手写体
下一篇
无影云桌面