流程我是按照这个文章做的,先跳到这看一下流程 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
本文含有隐藏内容,请 开通VIP 后查看