文章目录
- 安装3559工具链
- 编译opencv
- 编译项目
- 总结
安装3559工具链
将3559工具链copy到虚拟机上,并解压得到安装包
解压:
tar -zxvf aarch64-himix100-linux.tgz
解压后会得到安装包文件夹:
安装工具链:
sudo ./aarch64-himix100-linux.install
source ./aarch64-himix100-linux.install
执行完毕,默认会在/opt录下生成一个hisi-linux文件夹:
添加工具链环境变量:
vim ~/.bashrc
添加工具链环境路径:
export PATH=/opt/hisi-linux/x86-arm/aarch64-himix100-linux/bin:$PATH
使配置生效:
source ~/.bashrc
测试工具链是否正常调用:
aarch64-himix100-linux-gcc -v
出现上图说明安装3559工具链成功。
编译opencv
安装cmake-gui
sudo apt-get install cmake
sudo apt-get install cmake-qt-gui
打开ubuntu的terminal终端,输入cmake-gui,打开cmake的gui界面
选择交叉编译工具
Operation System:arm-himix100-linux
gcc:/opt/hisi-linux/x86-arm/aarch64-himix100-linux/bin/aarch64-himix100-linux-gcc
g++:/opt/hisi-linux/x86-arm/aarch64-himix100-linux/bin/aarch64-himix100-linux-g++
其中:编译器路径需要根据自己ubuntu系统的编译器路径来填写
修改配置
1.修改CMAKE_INSTALL_PREFIX
库的安装路径,文件夹是自己创建的
2.添加OPENCV_EXTRA_MODULES_PATH
也就是contrib的modules路径
3.添加CMAKE_FIND_ROOT_PATH
根据自己的实际路径修改,我这里为:/opt/hisi-linux/x86-arm/aarch64-himix100-linux/bin
4.勾选BUILD_opencv_world库
这样编译出来的库就一个world.so,而不是一堆库。
5.源代码修改
在opencv-4.5.0中的
modules/videoio/src/cap_dshow.cpp中的include “cap_dshow.hpp”上一行添加
#define NO_DSHOW_STRSAFE
6.cmake参数修改
在opencv4.5.0目录下,修改最顶层的CMakeList.txt,在include(cmake/OpenCVMinDepVersions.cmake)
后面添加:
SET(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} "-pthread -ldl")
SET(CMAKE_C_FLAGS ${CMAKE_C_FLAGS} "-pthread -ldl")
点击configure
点击generate
进入编译输出文件夹build,打开terminal终端,输入make,然后等待完成
make完成后,终端输入make install,到此opencv的交叉编译就完成了。
编译项目
下载源码:https://github.com/mahxn0/Hisi3559A_Yolov5
解压,在目录下的CMakeLists.txt中设置opencv路径
新建一个build_test目录:
cmake .. -DTARGET_SOC=3559
make -j8
至此便生成了可执行文件。这里只演示过程,源代码中的模型路径,与视频输入需要自己修改。
总结
本文记录海思3559 yolov5 wk模型部署的具体过程,成功生成了可执行文件,后面就可以在板端进行运行测试。
参考文档:
https://blog.csdn.net/qq_40778196/article/details/130595389
https://blog.csdn.net/u014689277/article/details/121556024
https://github.com/mahxn0/Hisi3559A_Yolov5
如果阅读本文对你有用,欢迎关注点赞留言收藏呀!!!
2024年2月22日17:32:09