Ubuntu 16.04下,基于Anaconda安装Darknet-OCR


源代码:https://github.com/chineseocr/darknet-ocr
主要解决:

fatal error: Python.h: 没有那个文件或目录

Makefile:160: recipe for target 'all' failed

的问题。

安装Anaconda3

使用Anaconda管理环境的好处在于,每个环境都是独立的,即使是这次环境搞乱了,只要删了新建一个就好,而且安装TensorFlow-gpu版本时不需要提前装好cuda和cudnn,anaconda会根据显卡自动选择合适的版本安装,省了很多麻烦。
首先下载anaconda3,直接点击或者右键迅雷下载都行。对应python3.7版本,64位ubuntu系统。
在Anaconda3-2020.02-Linux-x86_64.sh的那个文件件右键,在终端打开,输入:

bash Anaconda3-2020.02-Linux-x86_64.sh

安装到最后的时候输入yes,添加环境变量。
安装好之后新建一个用来装ocr的环境,我们命名为chineseocr:

conda create -n chineseocr python=3.6

启用环境:

source ~/anaconda3/bin/activate chineseocr

使用conda命令前可以配置一下镜像源,就不细说了。
多说一句,启用了anaconda之后,pip和conda命令一般都是往当前的conda环境里安装包,apt-get都是往系统环境里装的。

基础环境安装

我把网络和附带的预训练数据已经打包传了百度云,提取码:4vy8,就省得去一项项下载了。
解压后放在主目录,在主目录打开终端,先进行依赖项的安装:

cd darknet-ocr-master
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

不过这时候还不能直接使用,需要进行cpu还是gpu的选择(起码我是没直接运行成功)。

配置opencv-dnn

我的电脑进入tty执行sudo命令就会卡住,所以使用的cpu版本,配置opencv参考:https://github.com/chineseocr/opencv-for-darknet
但是讲得不是很全,在有anaconda的系统上反复配置简直是噩梦,所以我总结了以下步骤:

先下载opencv-for-darknet并解压(提取码p3g7),然后将:
在这里插入图片描述
拷贝到主目录下(用且仅用这三项,主目录就是每次一打开终端就在的那个目录,在别的目录也行,这都无所谓,主要是方便),然后在主目录下打开终端,进行:

#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/

这时,你的opencv连带着draknet网络的优化就已经解压好了,之前make一直出错就是因为安装了anaconda,所以我们不用作者提到的cmake配置,改为:

cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=~/anaconda3/envs/chineseocr \
-D BUILD_opencv_python2=OFF \
-D BUILD_opencv_python3=ON \
-D PYTHON3_EXECUTABLE=~/anaconda3/envs/chineseocr/bin/python3.6 \
-D PYTHON3_INCLUDE_PATH=~/anaconda3/envs/chineseocr/include/python3.6m \
-D PYTHON3_LIBRARIES=~/anaconda3/envs/chineseocr/lib/libpython3.6m.so \
-D PYTHON3_NUMPY_INCLUDE_DIRS=~/anaconda3/envs/chineseocr/lib/python3.6/site-packages/numpy/core/include .. \
&& make -j2 && sudo make install

如果当时创建的环境不是chineseocr,请自行更改配置。
这样一般都会成功,中间可能会在:

IPPICV: Download: ippicv************

这里卡住一会儿,但是我是稍等等就成功了,大概三五分钟,建议保持耐心,实在不成就只能本地化安装这个小模块了。
至此,opencv-dnn配置成功。

Darknet-ocr的运行

回到主目录,输入:

cd darknet-ocr
python3 app.py 8080

然后在浏览器里打开:

http://127.0.0.1:8080/text

就可以上传图片和识别了,效果如下:
在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值