AastaNV/JEP

附上我的记录

Opened this issue · 1 comments

在jetson nano上编译 opencv 的坑

  • 没打算在 jetson 原始系统上编译 opencv,担心把环境搞乱,所以使用 docker,开始进坑

  • jetpack 的版本问题,4.3,4.21是不同的,上面 cuda 版本,opencv 版本有关系,比如3.4.1可能不支持 cuda10,此坑耽误了2天,最后在 nvidia 官网上提问,官方同学回答了。

  • docker 镜像,想找一个可以跑在上面的镜像,发现做镜像的人不是很靠谱,并没有测试完整。如 tx2 的镜像在 nano 上不好用。

  • jetpack 4.3,与4.21是不同的,最大不同,4.3的 docker 默认支持 cuda 了。4.2.1不可以。

  • opencv 版本,nano上已经不支持低版本 opencv,看有人说使用3.4的版本(百度结果),最后发现不行,后来在 github 找到一个安装脚本使用的4.0+,应该是可以了,不过还有别的坑。经验,最好不要直接百度或者 google,用的话可以直接找别人写好的脚本,说明是成功过的。另外 nvidia 的官方论坛信息要比 google 全面的多。

  • opencv4.0 安装坑,不要想当然 的自己直接 cmake,因为编译会非常慢,有些flag 是没必要打开的,打开也不一定成功,比如 test,论坛上说 opencv 的test 不能在 nano 上全部通过,原因也没有说清楚。导致 jetpack 上自带的 opencv 是没有 gpu 支持的。
    https://github.com/theerawatramchuen/Jetson-Nano-Installation/blob/master/install_opencv4.0.0_Nano.sh#L48
    https://github.com/AastaNV/JEP/blob/master/script/install_opencv4.1.1_Jetson.sh
    这个地方的脚本可以改一下,就支持在**不好下载文件问题。**的网真的是太烂了,丢人。

  • opencv4.0 make坑,里面 contri 包也不知道怎么搞的,还要下载几个.i 的文件,使用 cmake 下载还失败了,然后编译不成功,github 上有专门人讨论:opencv/opencv_contrib#1301,

===

耗时一周多,但是这个坑必需填上。终于成功了。

真的难 想不到居然是包下不下来
用了老哥打的包 OJBK
多谢老哥