Jetson Xavier NX设备将opencv和tensorrt链接到conda环境

46 篇文章 6 订阅
3 篇文章 0 订阅

注意安装的时候先查看设备旧版本的opencv,卸载干净后再装。 

Jetpack4.6

opencv4.1.1

conda安装 过程翻一下之前的博客把,下面是创建环境开始

conda create -n py36 python=3.6.9

OPENCV_EXTRA_MODULES_PATH=/home/ta/open/opencv_contrib-4.1.1/modules  #这个是opencv_contrib文件,附加的face等lib库需要用到这个链接内的内容

 

-DBUILD_SHARED_LIBS=ON   #这个决定是否生成 cv2.cpython-36m-aarch64-linux-gnu.so to cv2.so 文件,连接到虚拟环境用

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

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

 

编译步骤先下载两个opencv的压缩包,具体过程看下之前的文章内的脚本,cmake的内容可以根据实际需求进行添加

 

cmake \
-DBUILD_opencv_python3=ON \
-DBUILD_opencv_python2=OFF \
-DPYTHON3_EXECUTABLE=/home/nvidia/archiconda3/envs/yolo5/bin/python3.6m \
-DPYTHON_INCLUDE_DIR=/home/nvidia/archiconda3/envs/yolo5/include/python3.6m \
-DPYTHON_LIBRARY=/home/nvidia/archiconda3/envs/yolo5/lib/libpython3.6m.so \
-DPYTHON_NUMPY_INCLUDE_DIRS=/home/nvidia/archiconda3/envs/yolo5/lib/python3.6/site-packages/numpy/core/include \
-DPYTHON_PACKAGES_PATH=/home/nvidia/archiconda3/envs/yolo5/lib/python3.6/site-packages \
-DPYTHON_DEFAULT_EXECUTABLE=/home/nvidia/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.1.1/modules \
..

 下面这个命令适用于不知道什么时候装了一堆opencv,且在每个opencv的安装目录下都找不到build目录的同志们。
#终端输入命令
find / -name "*opencv*" 2>/dev/null
然后看到跳出来的文件了么,一些是文件夹,一些是文件。然后使用sudo rm -rm删除文件夹,使用sudo rm 删除文件。
pkg-config opencv --libs
pkg-config opencv --modversion

sudo make 

sudo make install之后执行下面的步骤

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

链接tensorrt到虚拟环境如下 

sudo ln -s /usr/lib/python3.6/dist-packages/tensorrt* /home/nvndia/archiconda/envs/car/lib/python3.6/site-packages/

将opencv链接到虚拟环境下

 此时我们只需找到 /usr/lib/python3.6/dist-packages/cv2/python-3.6路径下的cv2.cpython-36m-aarch64-linux-gnu.so文件,复制到路径/home/nvidia/archiconda3/envs/car/lib/python3.6/site-packages/

sudo ln -s /usr/lib/python3.6/dist-packages/cv2/python-3.6/cv2.cpython-36m-aarch64-linux-gnu.so /home/nvidia/archiconda3/envs/tf-gpu/lib/python3.6/dite-packages

 

 可以撒花了

 

 

 

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无证驾驶梁嗖嗖

让我们解决Jetson使用问题

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值