注意安装的时候先查看设备旧版本的opencv,卸载干净后再装。
Jetpack4.6
opencv4.1.1
conda安装 过程翻一下之前的博客把,下面是创建环境开始
conda create -n py36 python=3.6.9OPENCV_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
可以撒花了

免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删