本教程需要读者有一定的 Linux 环境配置能力及编程基础!
虽然没想明白为什么 Linux 下需要用助手挂模拟器,嘛总之大家有这个需求还是弄一下_(:з」∠)_
作者是 Linux 小白,所以虽说是教程,也只是分享一下自己的踩坑经历,如果遇到其他问题欢迎提出 ISSUE 一起讨论下 orz
请自行搜索教程安装,没什么特别的,作者当前成功验证过的版本为4.5.3
版本。其他版本应该也可以,但仍然推荐使用4.5.3
版本,与项目保持一致,避免一些不必要的问题。仅Opencv
本体即可,不需要额外安装opencv_contrib
。
- 使用我魔改了接口的版本:https://github.com/MaaAssistantArknights/PaddleOCR
- 参考 这个教程
- 额外依赖的
paddle_inference
直接 下载 即可。其中avx
和mkl
两者都可以提高计算效率,建议选择。但如果 CPU 不支持,则只能选择noavx
和openblas
的兼容性版本(一般稍微新一点的 CPU 都支持两者了,AMD 的也没关系)。cuda
和cudnn
是 GPU 加速库,在PaddleOCR
上可能比较麻烦,我没折腾过,有兴趣可以尝试下 - 若
cmake
找不到Opencv
,可尝试修改 Opencv 的查找路径 - 若您使用非
MKL
版本,需要关闭 MKL 宏定义 (改为false
)
编译选项参考
cmake ../ -DPADDLE_LIB=/your_path/paddle_inference/ -DOpenCV_DIR=/your_path_to_opencv/ -DWITH_STATIC_LIB=OFF -DBUILD_SHARED=ON
# 若设备不支持 MKL, 可再额外添加 -DWITH_MKL=OFF 选项,并下载对应的 PaddlePaddle 预测库版本
Ubuntu 下:
sudo apt update && sudo apt install zlib1g-dev
sudo ldconfig
其他发行版若源中没有 zlib, 也可尝试通过 源码 编译
-
直接拷贝上面编译的第三方库到
3rdparty/lib
或者 手动修改CMakeLists.txt
指定第三方库路径 -
3rdparty/include/opencv
中的头文件是4.5.3
版本的,若是使用其他版本,请注意头文件冲突问题(直接将你的opencv
头文件覆盖过去就好) -
安装
adb
-
复制资源文件到
libMeoAssitant.so
同一目录下cd tools sh ./update_resource.sh <YourBuildDir>
-
cmake
可通过添加-DBUILD_TEST=ON
选项来编译一个测试小 demo
可参考 Python demo 中 __main__
的实现
可参考 TestCaller 中的实现
可参考 MeoAsstGui 中的实现