使用opencv进行ocr中文识别
git clone https://github.com/chineseocr/darknet-ocr,模型文件下载地址
http://www.chineseocr.com:9990/static/models/darknet-ocr/
conda create -n darknetocr python=3.6 conda activate darknetocr pip install -r requirements.txt
因为使用的函数relu,opencv不支持,需要自定义编译opencv。
git clone https://github.com/chineseocr/opencv-for-darknet.git
#wget https://codeload.github.com/opencv/opencv/zip/4.0.1 wget http://www.chineseocr.com:9990/static/models/opencv/opencv.4.0.1.zip unzip opencv.4.0.1.zip && \ cp darknet_io.cpp opencv-4.0.1/modules/dnn/src/darknet && \ cp layers_common.cpp opencv-4.0.1/modules/dnn/src/layers && \ cp all_layers.hpp opencv-4.0.1/modules/dnn/include/opencv2/dnn/
安装构建环境
sudo apt-get install build-essential cmake
在opencv-4.0.1中新建目录build,在build目录新建cmake.sh并执行
CONDA_ENV_PATH=/root/miniconda3/envs/ CONDA_ENV_NAME=darknetocr cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D BUILD_opencv_python2=OFF \ -D BUILD_opencv_python3=ON \ -D PYTHON3_EXCUTABLE=$CONDA_ENV_PATH/$CONDA_ENV_NAME/bin/python \ -D PYTHON3_INCLUDE_DIR=$CONDA_ENV_PATH/$CONDA_ENV_NAME/include/python3.6m \ -D PYTHON3_LIBRARY=$CONDA_ENV_PATH/$CONDA_ENV_NAME/lib/libpython3.6m.so \ -D PYTHON_NUMPY_PATH=$CONDA_ENV_PATH/$CONDA_ENV_NAME/lib/python3.6/dist-packages/numpy/ .. \ && make -j2 && make install
如果conda安装在其他位置,修改CONDA_ENV_PATH,构建安装完成后需要替换python的cv2。
先把python的site-packages/cv2移到其他位置,如果不知道site-packages目录在哪,在python中运行
from distutils.sysconfig import get_python_lib print(get_python_lib())
mv cv2 /path/to/back cp -r /usr/local/lib/python3.6/site-packages/cv2 cv2
进入darknet-ocr目录
pythton app.py 8080
访问服务
如果出现找不到libgthread-2.0.so,执行
apt-get install libglid2.0-dev
如果出现找不到libSM.so,执行
apt-get install python-qt4
附;
opencv编译后文件
链接:https://pan.baidu.com/s/1cBlyCv5jMcK846g994FUbg
提取码:tsgi
darknet-ocr文件
链接:https://pan.baidu.com/s/1ncJvnY9dhNCU3Se0sJBeXQ
提取码:cyxr