我和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

相关文章

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

Linux卸载自带jdk并安装新jdk版本的图文教程

《Linux卸载自带jdk并安装新jdk版本的图文教程》在Linux系统中,有时需要卸载预装的OpenJDK并安装特定版本的JDK,例如JDK1.8,所以本文给大家详细介绍了Linux卸载自带jdk并... 目录Ⅰ、卸载自带jdkⅡ、安装新版jdkⅠ、卸载自带jdk1、输入命令查看旧jdkrpm -qa

MySQL Workbench 安装教程(保姆级)

《MySQLWorkbench安装教程(保姆级)》MySQLWorkbench是一款强大的数据库设计和管理工具,本文主要介绍了MySQLWorkbench安装教程,文中通过图文介绍的非常详细,对大... 目录前言:详细步骤:一、检查安装的数据库版本二、在官网下载对应的mysql Workbench版本,要是

Linux安装MySQL的教程

《Linux安装MySQL的教程》:本文主要介绍Linux安装MySQL的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux安装mysql1.Mysql官网2.我的存放路径3.解压mysql文件到当前目录4.重命名一下5.创建mysql用户组和用户并修

pip无法安装osgeo失败的问题解决

《pip无法安装osgeo失败的问题解决》本文主要介绍了pip无法安装osgeo失败的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 进入官方提供的扩展包下载网站寻找版本适配的whl文件注意:要选择cp(python版本)和你py

Android App安装列表获取方法(实践方案)

《AndroidApp安装列表获取方法(实践方案)》文章介绍了Android11及以上版本获取应用列表的方案调整,包括权限配置、白名单配置和action配置三种方式,并提供了相应的Java和Kotl... 目录前言实现方案         方案概述一、 androidManifest 三种配置方式

Python解析器安装指南分享(Mac/Windows/Linux)

《Python解析器安装指南分享(Mac/Windows/Linux)》:本文主要介绍Python解析器安装指南(Mac/Windows/Linux),具有很好的参考价值,希望对大家有所帮助,如有... 目NMNkN录1js. 安装包下载1.1 python 下载官网2.核心安装方式3. MACOS 系统安

Pycharm安装报错:Cannot detect a launch configuration解决办法

《Pycharm安装报错:Cannotdetectalaunchconfiguration解决办法》本文主要介绍了Pycharm安装报错:Cannotdetectalaunchconfigur... 本文主要介绍了Pycharm安装报错:Cannot detect a launch configuratio

pytorch+torchvision+python版本对应及环境安装

《pytorch+torchvision+python版本对应及环境安装》本文主要介绍了pytorch+torchvision+python版本对应及环境安装,安装过程中需要注意Numpy版本的降级,... 目录一、版本对应二、安装命令(pip)1. 版本2. 安装全过程3. 命令相关解释参考文章一、版本对