零、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
执行上方第二条命令时,出现如下错误:
如果输入上面的第二条命令时真的出错的话,那就改成输入如下命令吧:
./configure make sudo make install
然后,输入如下命令查看gearman版本:
gearmand -V
效果如下:
上图中,既然版本都能看到了,那说明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,然后将复制三个文件。
为啥要复制到这个目录呢, 根据后面运行工人程序报的错误就可以提示出:
(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
然后输入如下命令:
make
--------------------------------------------------------------------------------------------------------------
四、数据库表的创建:
上图的目录介绍:
temp_coord:文本定位
temp_inf:模板信息
temp_str:忘了。。。
1、修改数据库的用户名和密码,有下面这几个文件涉及到用户名和密码,改成统一的即可:
(1)文件1:
上图红框部分是数据库的登录密码。
(2)文件2:
(3)文件3:
(4)文件4:
2、导入数据库:
输入如下命令进入数据库的命令行操作:
mysql -u root -p
然后输入密码即可。
输入如下命令,创建上图中的四个数据库:
create database rboxasim;
create database rboxasim;
create database template_inf;
create database template_string;
然后四个表就创建成功了:
导入第一个数据库:
use rboxasim source /home/smyhvae/Documents/OCR/tools/database/ocr_rboxasim.sql show tables; select * from ap_table;
上方的四行命令中,02行是导入数据库,03和04行是查询表。查询表的效果如下:
重复上面的四个命令,依次导入其他三个数据库。
在project2的src目录中执行如下命令就可以运行工人程序:
./worker
其他补充:
OCR\src\pro2\src目录下的ocr_worker.cc文件:
上图中的ip指的是gearman应用对应的ip。
OCR\src\pro2\src目录下的ocr_file.h文件:
上图红框部分指的是worker保存图片的目录。
现在,开始在linux中创建这个目录:
因为这个目录是root用户的,现在。。。忘了。。。问张平。。。
worker的监管程序: