工程地址:https://github.com/xiaofengShi/CHINESE-OCR
主要參考博客進行移植:https://blog.csdn.net/koloumi/article/details/84791729
配置環境為Win10+CPU+Anaconda3
其中有遇到一些問題,補充說明。
1.修改ctpn\lib\utils\cython_nms.pyx文件
2.修改set_up_cpu.py文件,根據上面的參考博客修改。
【然后將命令行的目錄進入到這個目錄,運行setup_cpu.py 運行之后會出現一些問題:
ValueError: got unknown compilation option, please remove: include_dirs 如果是遇到這個問題,那就把這個setup_cpu.py中的cython編譯的哪行代碼中的include的參數去掉,不同版本的 python參數有些不一樣。去掉就行,然后編譯。】
去掉后出現:
編譯時遇到找不到.h文件,直接把anaconda下的Lib\site-packages\numpy\core\include\文件夾numpy復制到setup_cpu.py目錄下,運行出現:
打開ufuncobject.h修改頭文件為#include "npy_math.h",就可以編譯生成了,在目錄下多出build文件夾,拷貝build\lib.xxx\ctpn\lib\utils下的兩個文件到setup_cpu.py目錄下,移除numpy文件夾,否則可能出現module 'utils.numpy' has no attribute 'float'問題。
3.【錯誤:ModuleNotFoundError: No module named 'lib.fast_rcnn’】
主要原因是導入包路徑問題。主要修改兩個地方,ctpn/ctpn/model.py和ctpn/lib/fast_rcnn/nms_wrapper.py。
model.py:
nms_wrapper.py:
4.【NoneType’ object has no attribute ‘model_checkpoint_path’的問題】
去github工程下載相應的模型,在CHINESE-OCR/angle/下放入modelAngle.h5,CHINESE-OCR/ctpn/ctpn/retrain/ckpt放checkpoint和VGGnet模型。
工程中需要修改路徑的地方,下圖為作者原地址,改為你自己下載模型存放地址:
ctpn/ctpn/model.py
angle/predict.py
ocr/model.py
配置了半天,終於好了!