Linux 环境安装轻量级中文ocr开源项目chineseocr_lite (上篇)

      最近github上面一个轻量级的中文orc火了,项目地址是:https://github.com/ouyanghuiyu/chineseocr_lite

      由于项目需要,去年的时间对于百度,有道,阿里等大厂提供的ocr软件有所了解,虽然识别的准确率还算可以,但是有一个比较的尴尬的问题就是只能在线使用,内网情况下,只能使用开源的一些软件,tesseract 算是其中的佼佼者,可以自己训练字库,对于英文的识别率还是不错的,但是对于中的识别,就比较差强人意。

直接安装的方式,启动后不能正常识别图片,会报错,后来采用了conda的安装方式,可以正常识别图片,建议将上下两篇文章看完以后在操作,避免走弯路,浪费时间。

1 . 项目所依赖的环境:

    pytorch 1.2.0

    python3

   本机系统 :CentOS 7.4 64位

2 .搭建环境

      2.1  安装python3

          1 查询当前系统自带的python 版本

python --version

     

  系统自带的版本是python2.7.5  先不要管

     2  安装依赖包

      首先安装gcc编译器,gcc有些系统版本已经默认安装,通过 gcc --version 查看,没安装的先安装gcc 安装命令如下

   yum -y install gcc

      3 安装其他依赖包,需要root权限(注:不要缺少,否则有可能安装python出错,python3.7.0以下的版本可不装 libffi-devel )

yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel

     4 到https://www.python.org/downloads/source/ 下载我们需要的源码包,这里我下载的版本是3.6.10

 

Linux 环境安装轻量级中文ocr开源项目chineseocr_lite (上篇)_第1张图片

  也可以在https://www.python.org/ftp/python/ 网站找到自己需要的源码包,直接使用wget 命令下载到服务器,命令如下

 wget https://www.python.org/ftp/python/3.6.10/Python-3.6.10.tgz

5  将下载好的安装包 上传至服务器,并解压,我在root的根目录新建了,一个source 的目录,将python的压缩包上传到了source目录,解压命令如下

tar -zxvf Python-3.6.10.tgz

      解压完成以后如下,会有一个Python-3.6.10的目录(请忽略3.7.6的版本,第一次就是安装的python3.7.6,到最后运行时 torch 模块一直找不到,试了好多方法,都是没有办法解决,于是卸载了3.7.6,从头开始安装3.6.10,后面如果截图中出现了3.7.6 就不在解释了)

Linux 环境安装轻量级中文ocr开源项目chineseocr_lite (上篇)_第2张图片

   6  执行配置文件,编译,编译安装

cd Python-3.6.10
./configure --prefix=/usr/local/python3
 make && make install

 安装过程中没有报错,就说明安装成功了,安装成功会看到以下信息

Linux 环境安装轻量级中文ocr开源项目chineseocr_lite (上篇)_第3张图片

7 建立软连接(Python与pip都建立软连接,分别为python3、pip3与系统自带的Python2区分)

ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3.6 /usr/bin/pip3

8 测试python3 是否可用

    

   pthon3 的安装过程参考的博客 https://blog.csdn.net/zckui/article/details/89821101

9 测试pip3是否可用

Linux 环境安装轻量级中文ocr开源项目chineseocr_lite (上篇)_第4张图片

根据系统建议,升级一下pip3 的版本(请务必升级)

pip3 install --upgrade pip

   

  2.2 安装  pytorch 1.2.0

        1 安装pytorch 的依赖 numpy ninja pyyaml mkl mkl-include setuptools cmake cffi typing

pip3 install numpy ninja pyyaml mkl mkl-include setuptools cmake cffi typing

        2  安装 torch版本为1.2.0

pip3 install torch==1.2.0

    安装成功以后,如下图

Linux 环境安装轻量级中文ocr开源项目chineseocr_lite (上篇)_第5张图片

     3 安装 torchvision版本为0.4.0

pip3 install torchvision==0.4.0

     安装完成以后如下图

Linux 环境安装轻量级中文ocr开源项目chineseocr_lite (上篇)_第6张图片

     4 测试pytorch 是否安装成功,导入torch模块,没有报错,就说明安装成功了。

  Linux 环境安装轻量级中文ocr开源项目chineseocr_lite (上篇)_第7张图片

 

3  下载并部署项目

   现在项目需要的环境已经准备好了

     打开https://github.com/ouyanghuiyu/chineseocr_lite ,将项目下载到本地,我这里选择的是zip包。(github上面拉项目超级恶心,我拉了一天,硬没有拉取成功,可以先将项目导入到码云,从码云下载,速度杠杠的,可以参考         https://blog.csdn.net/TeFuirnever/article/details/99110367)

Linux 环境安装轻量级中文ocr开源项目chineseocr_lite (上篇)_第8张图片

安装zip/unzip 已经安装过的可以跳过

yum install -y unzip zip

解压 

unzip chineseocr_lite-master.zip

PSENET 编译

cd chineseocr_lite/psenet/pse/
rm -rf pse.so 
make

 执行make 命令时报错:

Linux 环境安装轻量级中文ocr开源项目chineseocr_lite (上篇)_第9张图片

根据错误提示 gcc 没有安装或者没有更新,执行的下面的命令,更新一下相关库。

yum -y update gcc
yum -y install gcc+ gcc-c++

再次执行make 命令,继续报错Python.h: No such file or directory 这个错误有点熟悉

Linux 环境安装轻量级中文ocr开源项目chineseocr_lite (上篇)_第10张图片

可以看下我的这篇文章https://blog.csdn.net/qq_29832217/article/details/96482404,就是缺少python-devel包,因为我们是python3,所以只需要安装python3-devel 的报即可

安装python3-devel 的包,遇到选择Y/N 的全部选择Y即可

yum install python3-devel

再次执行 make 命令,可以看到有三条警告信息,并没有报错,说明我们已经编译通过了

Linux 环境安装轻量级中文ocr开源项目chineseocr_lite (上篇)_第11张图片

4 启动web服务

     

cd chineseocr_lite## 进入chineseocr目录

   

启动web 服务

python3 app.py 8080 ##8080端口号,可以设置任意端口

 启动服务是报错,说没有安装web 模块

缺什么,咱就安装什么呗,注意据说只能安装0.40的版本,其他版本没有测试

pip3 install web.py==0.40-dev1

安装好了之后,再次启动,结果继续报错

Linux 环境安装轻量级中文ocr开源项目chineseocr_lite (上篇)_第12张图片

这个问题的原因并不是缺包,而是pillow 7.0 版本以后,就没有PILLOW_VERSION 这个值了,请参考这篇文章

https://blog.csdn.net/ternence_hsu/article/details/103821264

解决方案只能是降低pillow的版本

pip3 install 'pillow<7.0.0'

如下图 pillow 的版本降为了6.2.2

Linux 环境安装轻量级中文ocr开源项目chineseocr_lite (上篇)_第13张图片

再次启动,再次报错,缺少cv2 模块

Linux 环境安装轻量级中文ocr开源项目chineseocr_lite (上篇)_第14张图片

缺什么,咱就安装什么呗 

pip3 install opencv-python

安装成功以后如下图:

Linux 环境安装轻量级中文ocr开源项目chineseocr_lite (上篇)_第15张图片

再次启动,继续报错,提示libSM.so.6: cannot open shared object file: No such file or directory

Linux 环境安装轻量级中文ocr开源项目chineseocr_lite (上篇)_第16张图片

 错误原因 :缺少共享库,具体原因请参考

https://www.cnblogs.com/richerdyoung/p/8458910.html

  使用如下命令查看缺少得共享库

yum whatprovides libSM.so.6

Linux 环境安装轻量级中文ocr开源项目chineseocr_lite (上篇)_第17张图片

安装 libSM 库(这里的包名每个人可能不一样,修改为自己查询出来的即可)

yum install libSM-1.2.2-2.el7.i686 --setopt=protected_multilib=false


安装完成以后如下

Linux 环境安装轻量级中文ocr开源项目chineseocr_lite (上篇)_第18张图片

测试了一下,tmd的还是不行

Linux 环境安装轻量级中文ocr开源项目chineseocr_lite (上篇)_第19张图片

看到有篇文章的解决方案pip install opencv-python==3.2.0.8 那就试一下呗

pip3 install opencv-python==3.2.0.8

神奇的事情发生了,可以完美导入cv2 模块

Linux 环境安装轻量级中文ocr开源项目chineseocr_lite (上篇)_第20张图片

再次启动,再次报错,说是缺少scipy模块

Linux 环境安装轻量级中文ocr开源项目chineseocr_lite (上篇)_第21张图片

缺什么就安装什么呗

pip3 install scipy

Linux 环境安装轻量级中文ocr开源项目chineseocr_lite (上篇)_第22张图片
安装完成以后,再次启动
一步一个坑,最终成功是属于我们的,项目启动成功。

Linux 环境安装轻量级中文ocr开源项目chineseocr_lite (上篇)_第23张图片

   5 访问web 页面,并测试识别结果

        访问地址:ip:8080/ocr

        我的访问地址是:http://www.365codemall.com:8080/ocr

Linux 环境安装轻量级中文ocr开源项目chineseocr_lite (上篇)_第24张图片

     

我以为启动时,程序没有报错,并且可以正常访问页面,就可以了,我还是太天真了。。。

测试时后台报错了。。。

Linux 环境安装轻量级中文ocr开源项目chineseocr_lite (上篇)_第25张图片

未完待续。。。
  
 

你可能感兴趣的:(linux,python,linux,图片文字识别,chineseocr_lite)