我和jetson-Nano的故事(10)——安装OpenCV3.2.0

2024-05-15 07:52

本文主要是介绍我和jetson-Nano的故事(10)——安装OpenCV3.2.0,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. 仓库地址

  • opencv
    https://opencv.org/releases/page/6/
  • opencv_contrib
    https://github.com/opencv/opencv_contrib/tree/3.2.0

2. cmake-gui安装

安装指令

sudo apt-get install cmake-qt-gui

如果安装过程中入到下面的问题
在这里插入图片描述
可以按照以下方法解决

sudo apt --fix-broken install
sudo apt clean  
sudo apt update

一旦你解决了依赖关系问题,就可以尝试重新安装 cmake-qt-gui

sudo apt-get install cmake-qt-gui

3.编译安装

将压缩包解压并进入文件夹,把opencv_contrib-3.2.0放到opencv-3.2.0文件夹中,创建build文件夹

cd opencv-3.2.0
mkdir build

卸载opencv4.1.1

sudo apt-get remove libopencv*

3.1 编译报错

3.1.1 替换下载地址

由于网络环境原因,cmake过程中部分文件会因无法链接到下载地址导致cmake失败。

我们先行替换部分文件下载地址。

3.1.1.1 <boostdesc_bgm.i> 相关文件下载失败

打开终端,输入以下内容打开对应cmake文件:

sudo gedit ~/OpenCV/opencv_contrib-3.2.0/modules/xfeatures2d/cmake/download_boostdesc.cmake

将其中的raw.githubusercontent.com修改为raw.staticdn.net,保存并关闭gedit编辑器。

3.1.1.2 <vgg_generated_xxx.i> 相关文件下载失败

打开终端,输入以下内容,打开对应cmake文件:

sudo vim ~/OpenCV/opencv_contrib-3.2.0/modules/xfeatures2d/cmake/download_vgg.cmake

将其中的raw.githubusercontent.com修改为raw.staticdn.net,保存并关闭gedit编辑器。

3.1.2 OpenCV编译出现 CMake Error: CUDA_nppi_LIBRARY (ADVANCED)

在这里插入图片描述
原因解析:

cuda10不再支持2.0架构

解决方法:

第一步:在 opencv-3.2.0/cmake 文件夹下找到 FindCUDA.cmake 文件,对其进行修改

cd /home/zqzy/software/opencv-3.2.0/cmake
sudo vim FindCUDA.cmake

1)找到行

find_cuda_helper_libs(nppi)

改为

  find_cuda_helper_libs(nppial)find_cuda_helper_libs(nppicc)find_cuda_helper_libs(nppicom)find_cuda_helper_libs(nppidei)find_cuda_helper_libs(nppif)find_cuda_helper_libs(nppig)find_cuda_helper_libs(nppim)find_cuda_helper_libs(nppist)find_cuda_helper_libs(nppisu)find_cuda_helper_libs(nppitc)

2)找到行

set(CUDA_npp_LIBRARY "${CUDA_nppc_LIBRARY};${CUDA_nppi_LIBRARY};${CUDA_npps_LIBRARY}")

改为

set(CUDA_npp_LIBRARY "${CUDA_nppc_LIBRARY};${CUDA_nppial_LIBRARY};${CUDA_nppicc_LIBRARY};${CUDA_nppicom_LIBRARY};${CUDA_nppidei_LIBRARY};${CUDA_nppif_LIBRARY};${CUDA_nppig_LIBRARY};${CUDA_nppim_LIBRARY};${CUDA_nppist_LIBRARY};${CUDA_nppisu_LIBRARY};${CUDA_nppitc_LIBRARY};${CUDA_npps_LIBRARY}")

3)找到行

unset(CUDA_nppi_LIBRARY CACHE)

改为

unset(CUDA_nppial_LIBRARY CACHE)
unset(CUDA_nppicc_LIBRARY CACHE)
unset(CUDA_nppicom_LIBRARY CACHE)
unset(CUDA_nppidei_LIBRARY CACHE)
unset(CUDA_nppif_LIBRARY CACHE)
unset(CUDA_nppig_LIBRARY CACHE)
unset(CUDA_nppim_LIBRARY CACHE)
unset(CUDA_nppist_LIBRARY CACHE)
unset(CUDA_nppisu_LIBRARY CACHE)
unset(CUDA_nppitc_LIBRARY CACHE)

第二步: 在 opencv-3.2.0/cmake 文件夹下找到文件 OpenCVDetectCUDA.cmake,对其进行修改

cd /home/agilex/opencv3/opencv-3.2.0/cmakesudo gedit OpenCVDetectCUDA.cmake

修改以下几行

 ...set(__cuda_arch_ptx "")if(CUDA_GENERATION STREQUAL "Fermi")set(__cuda_arch_bin "2.0")elseif(CUDA_GENERATION STREQUAL "Kepler")set(__cuda_arch_bin "3.0 3.5 3.7")...

改为

  ...set(__cuda_arch_ptx "")if(CUDA_GENERATION STREQUAL "Kepler")set(__cuda_arch_bin "3.0 3.5 3.7")elseif(CUDA_GENERATION STREQUAL "Maxwell")set(__cuda_arch_bin "5.0 5.2")...

第三步: Cuda9或者Cuda10及以后的版本 中有一个单独的halffloat(cuda_fp16.h)头文件,也应该被包括在opencv的目录里

将头文件cuda_fp16.h添加至 opencv/modules/cudev/include/opencv2/cudev/common.hpp

cd /home/agilex/opencv3/opencv-3.2.0/modules/cudev/include/opencv2/cudevsudo gedit common.hpp

即在common.hpp中添加

#include <cuda_fp16.h>

重新生成即可

3.1.3 查看 CUDA 版本:nvcc -V 报错:bash: nvcc: 未找到命令

正常情况下,在安装完jetpack 系统之后,jetson nano会自动安装好cuda,
但是却提示报错
原因就是没有配置环境变量

解决办法
此时切换到 ~ 目录下: cd ~ ;

然后打开 .bashrc 文件:

cd ~ 
sudo  vim .bashrc 

接着按 i 键,进入编辑状态;

再接着在文件的末尾添加下面三行代码:

export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
export CUDA_ROOT=/usr/local/cuda

紧接着,按 Esc 键,然后输入冒号 ,再按下 wq! (表示强制写入并退出)!

最后一步,也是容易忘记的一步,一定要 source 一下这个文件:

source .bashrc

3.2 配置OpenCV

打开终端,输入:

#来到build文件夹
cd ~/opencv3/opencv-3.2.0/build
#执行cmake
cmake -D WITH_CUDA=ON -D CUDA_ARCH_BIN="7.2" -D ENABLE_PRECOMPILED_HEADERS=OFF  -D CUDA_ARCH_PTX="" -D WITH_GSTREAMER=ON -D WITH_LIBV4L=ON -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_EXAMPLES=OFF -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=~/opencv3/opencv_contrib-3.2.0/modules ..

不报错的话会输出以下信息
在这里插入图片描述
编译安装OpenCV

#来到build文件夹
sudo make -j4
sudo make install

4.OpenCV环境配置

创建opencv.conf文件,打开终端,输入:

sudo gedit /etc/ld.so.conf.d/opencv.conf

在文件中添加以下内容后保存并关闭gedit编辑器:

/usr/local/lib

使opencv配置文件生效

打开终端,输入:

sudo ldconfig

配置bash环境变量
打开.bashrc文件,在终端输入:

sudo gedit ~/.bashrc

在文件的最末尾加入:

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

保存并关闭gedit编辑器。

在终端输入:

source ~/.bashrc

验证opencv是否安装成功:
打开终端,输入:

pkg-config --modversion opencv

若安装成功,终端应输出:

3.2.0

在这里插入图片描述

5.参考资料

  1. Jetson Nano 安装 OpenCV 3.2.0 详细步骤
  2. OpenCV编译出现 CMake Error: CUDA_nppi_LIBRARY (ADVANCED)

这篇关于我和jetson-Nano的故事(10)——安装OpenCV3.2.0的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/991245

相关文章

最详细安装 PostgreSQL方法及常见问题解决

《最详细安装PostgreSQL方法及常见问题解决》:本文主要介绍最详细安装PostgreSQL方法及常见问题解决,介绍了在Windows系统上安装PostgreSQL及Linux系统上安装Po... 目录一、在 Windows 系统上安装 PostgreSQL1. 下载 PostgreSQL 安装包2.

Maven如何手动安装依赖到本地仓库

《Maven如何手动安装依赖到本地仓库》:本文主要介绍Maven如何手动安装依赖到本地仓库问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、下载依赖二、安装 JAR 文件到本地仓库三、验证安装四、在项目中使用该依赖1、注意事项2、额外提示总结一、下载依赖登

如何在Mac上安装并配置JDK环境变量详细步骤

《如何在Mac上安装并配置JDK环境变量详细步骤》:本文主要介绍如何在Mac上安装并配置JDK环境变量详细步骤,包括下载JDK、安装JDK、配置环境变量、验证JDK配置以及可选地设置PowerSh... 目录步骤 1:下载JDK步骤 2:安装JDK步骤 3:配置环境变量1. 编辑~/.zshrc(对于zsh

如何在pycharm安装torch包

《如何在pycharm安装torch包》:本文主要介绍如何在pycharm安装torch包方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录在pycharm安装torch包适http://www.chinasem.cn配于我电脑的指令为适用的torch包为总结在p

在PyCharm中安装PyTorch、torchvision和OpenCV详解

《在PyCharm中安装PyTorch、torchvision和OpenCV详解》:本文主要介绍在PyCharm中安装PyTorch、torchvision和OpenCV方式,具有很好的参考价值,... 目录PyCharm安装PyTorch、torchvision和OpenCV安装python安装PyTor

Python Transformer 库安装配置及使用方法

《PythonTransformer库安装配置及使用方法》HuggingFaceTransformers是自然语言处理(NLP)领域最流行的开源库之一,支持基于Transformer架构的预训练模... 目录python 中的 Transformer 库及使用方法一、库的概述二、安装与配置三、基础使用:Pi

如何解决mmcv无法安装或安装之后报错问题

《如何解决mmcv无法安装或安装之后报错问题》:本文主要介绍如何解决mmcv无法安装或安装之后报错问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mmcv无法安装或安装之后报错问题1.当我们运行YOwww.chinasem.cnLO时遇到2.找到下图所示这里3.

Python 安装和配置flask, flask_cors的图文教程

《Python安装和配置flask,flask_cors的图文教程》:本文主要介绍Python安装和配置flask,flask_cors的图文教程,本文通过图文并茂的形式给大家介绍的非常详细,... 目录一.python安装:二,配置环境变量,三:检查Python安装和环境变量,四:安装flask和flas

Win11安装PostgreSQL数据库的两种方式详细步骤

《Win11安装PostgreSQL数据库的两种方式详细步骤》PostgreSQL是备受业界青睐的关系型数据库,尤其是在地理空间和移动领域,:本文主要介绍Win11安装PostgreSQL数据库的... 目录一、exe文件安装 (推荐)下载安装包1. 选择操作系统2. 跳转到EDB(PostgreSQL 的

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1