jetson nano在archiconda环境里编译安装opencv(为了CUDA加速)

发布于:2023-01-22 ⋅ 阅读:(21) ⋅ 点赞:(0) ⋅ 评论:(0)

       流程我是按照这个文章做的,先跳到这看一下流程 Jetson Xavier NX 教程 - 知乎 (zhihu.com)

 根据需要修改 CONDA_HOME变量的值,和OPENCV_EXTRA_MODULES_PATH选项的值

我的conda在 /home/tai//archiconda3

我的环境名 yolo5 ,python版本 3.6

OPENCV_EXTRA_MODULES_PATH=/home/tai/open/opencv_contrib-4.5.3/modules  #这个是opencv_contrib文件

-DBUILD_SHARED_LIBS=ON   #这个决定是否生成 cv2.cpython-36m-aarch64-linux-gnu.so to cv2.so 文件

-DOPENCV_GENERATE_PKGCONFIG=ON  # 这个决定是否生成opencv.pc的配置文件

-DPYTHON_DEFAULT_EXECUTABLE=/home/tai/archiconda3/envs/yolo5/bin/python3.6m #这个决定安装在哪个python上

下面贴上,记得根据自己情况增删改。

cmake \
-DBUILD_opencv_python3=ON \
-DBUILD_opencv_python2=OFF \
-DPYTHON3_EXECUTABLE=/home/tai/archiconda3/envs/yolo5/bin/python3.6m \
-DPYTHON_INCLUDE_DIR=/home/tai/archiconda3/envs/yolo5/include/python3.6m \
-DPYTHON_LIBRARY=/home/tai/archiconda3/envs/yolo5/lib/libpython3.6m.so \
-DPYTHON_NUMPY_INCLUDE_DIRS=/home/tai/archiconda3/envs/yolo5/lib/python3.6/site-packages/numpy/core/include \
-DPYTHON_PACKAGES_PATH=/home/tai/archiconda3/envs/yolo5/lib/python3.6/site-packages \
-DPYTHON_DEFAULT_EXECUTABLE=/home/tai/archiconda3/envs/yolo5/bin/python3.6m \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DBUILD_EXAMPLES=OFF \
-DOPENCV_GENERATE_PKGCONFIG=ON \
-DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda \
-DCMAKE_BUILD_TYPE=RELEASE \
-DOPENCV_ENABLE_NONFREE=1 \
-DWITH_FFMPEG=1 \
-DCUDA_ARCH_BIN=7.2 \
-DCUDA_ARCH_PTX=7.2 \
-DWITH_CUDA=1 \
-DENABLE_FAST_MATH=1 \
-DCUDA_FAST_MATH=1 \
-DWITH_CUBLAS=1 \
-DOPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.5.3/modules \
..

也可以用默认python环境

cmake \
-DBUILD_opencv_python3=ON \
-DBUILD_opencv_python2=OFF \
-DPYTHON_DEFAULT_EXECUTABLE=/home/tai/archiconda3/envs/yolo5/bin/python3.6m \
-DBUILD_SHARED_LIBS=ON \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DOPENCV_ENABLE_NONFREE=1 \
-DWITH_FFMPEG=1 \
-DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda \
-DCUDA_ARCH_BIN=7.2 \
-DCUDA_ARCH_PTX=7.2 \
-DWITH_CUDA=1 \
-DENABLE_FAST_MATH=1 \
-DCUDA_FAST_MATH=1 \
-DWITH_CUBLAS=1 \
-DOPENCV_GENERATE_PKGCONFIG=1 \
-DOPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.5.3/modules \
..

按照上面知乎那片文章操作下来之后,注意检查一下自己cmake

 记得搜索自己cv2.cpython-36m-aarch64-linux-gnu.so to cv2.so文件

sudo find / -name '*cv2*'

将该.so文件软链接到自己想要的虚拟环境就行。

如果找不到,按照下面步骤试试

1.
sudo ldconfig -v  # 链接库共享

2.
sudo gedit /etc/ld.so.conf.d/opencv.conf # 将opencv的库添加到路径 打开是个空文件 加入下面一行
    /usr/local/lib  # 添加进去
sudo ldconfig   # 使配置生效

3.
sudo gedit /etc/bash.bashrc  # 配置环境变量 在文末添加下面两行
    PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
    export PKG_CONFIG_PATH
source /etc/bash.bashrc  # 使配置生效

sudo updatedb # 更新 如果没有该命令:apt-get install mlocate

如此就可以食用了。检查是否安装成功

查看opencv安装库:pkg-config opencv --libs
查看opencv安装版本:pkg-config opencv --modversion


网站公告

欢迎关注微信公众号

今日签到

点亮在社区的每一天
签到