Jetson Xavier NX安装cuda opencv4.4.0

OpenCV 4.x的夏季更新已发布 :晴天:
SIFT(尺度不变特征变换)算法已移至主存储库(SIFT的专利已过期)
DNN模块:

改进的图层/激活/支持更多模型:
G-API模块:

在OpenCV后端引入了用于状态内核的新API :GAPI_OCV_KERNEL_ST。有状态内核在各个图执行(在标准中更多)或流的视频帧(在流模式下)中保留其状态。
在G-API推出更多面向视频的操作:goodFeaturesToTrack,buildOpticalFlowPyramid,calcOpicalFlowPyrLK。
添加了更多的图像处理内核:Laplacian和双边过滤器。
修复了G-API的OpenCL后端中的潜在崩溃。
beizhu https://blog.csdn.net/dongkaiwen48/article/details/97765096

1、首先移除nx中已经默认的opencv。

sudo apt-get purge libopencv*
sudo apt autoremove
sudo apt-get update

2、检查已安装组件
https://blog.csdn.net/beckhans/article/details/89138876
有一步是10.2

export CUDA_HOME=/usr/local/cuda-10.2
export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda-10.2/bin:$PATH

3、依赖库
Ubuntu使用apt-get下载速度慢的解决方法(换源):https://blog.csdn.net/qq_21095573/article/details/99736630

Package has no installation candidate解决方法

*我试着换源:出现了一堆bug,又换回去了,慎重使用,注意备份。
正文:

sudo apt-get install -y build-essential checkinstall cmake pkg-config yasm git gfortran
# 添加源,防止可能会出现的找不到所需安装的库的情况
sudo add-apt-repository -y "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt-get update
sudo apt-get install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
sudo apt-get install -y libjpeg8-dev libjasper-dev libpng12-dev libtiff5-dev libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev libxine2-dev libv4l-dev
sudo apt-get install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgtk2.0-dev libtbb-dev libatlas-base-dev libfaac-dev libmp3lame-dev libtheora-dev libvorbis-dev libxvidcore-dev libopencore-amrnb-dev libopencore-amrwb-dev x264 v4l-utils

问题:bash: add-apt-repository: command not found 解决:https://www.jianshu.com/p/986efb4025e8

如果需要python3支持则需要安装下面两个库:
sudo apt install python3-dev python3-numpy
可以选择安装一些可选的库:

sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

4、下载opencv-4.4.0压缩包
从这里下载的:https://download.csdn.net/download/ciqujinnian_/12660208?utm_source=bbsseo
不然太慢了。

opencv-4.4.0.zip
opencv_contrib-4.4.0.zip

在nx中解压
5、

cd opencv-4.4.0
make build
cd build

执行cmake

cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DOPENCV_ENABLE_NONFREE=1 \
-DBUILD_opencv_python2=1 \
-DBUILD_opencv_python3=1 \
-DWITH_FFMPEG=1 \
-DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-10.2 \
-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.4.0/modules \
..

注意:
opencv_contrib-4.4.0是放在opencv-4.4.0中,注意路径
使用cuda,-DWITH_CUDA=1
cmake的配置情况可以参考[OpenCV官方文档]:
https://docs.opencv.org/3.2.0/d6/d15/tutorial_building_tegra_cuda.html
6、make
执行make -j12,

说明:make命令后面跟着线程数,12表示这个命令使用12线路去执行
不过关键线程数不能超过电脑cpu的线程数
cat /proc/stat | grep cpu[0-9] -c
查看线程数

安装OpenCV时提示缺少boostdesc_bgm.i文件的问题解决方案

fatal error: features2d/test/test_detectors_regression.impl.hpp: 没有那个文件或目录

opencv-4.2.0/modules/features2d/test/下的文件

test_descriptors_invariance.impl.hpp
test_descriptors_regression.impl.hpp
test_detectors_invariance.impl.hpp
test_detectors_regression.impl.hpp
test_invariance_utils.hpp

拷贝到opencv_contrib-4.2.0/modules/xfeatures2d/test/

opencv_contrib-4.2.0/modules/xfeatures2d/test/test_features2d.cpp文件里

#include "features2d/test/test_detectors_regression.impl.hpp"
#include "features2d/test/test_descriptors_regression.impl.hpp"

改为

#include "test_detectors_regression.impl.hpp"
#include "test_descriptors_regression.impl.hpp"

opencv_contrib-4.2.0/modules/xfeatures2d/test/test_rotation_and_scale_invariance.cpp文件里

#include "features2d/test/test_detectors_invariance.impl.hpp" 
#include "features2d/test/test_descriptors_invariance.impl.hpp"

改为

#include "test_detectors_invariance.impl.hpp"
#include "test_descriptors_invariance.impl.hpp"

完成后sudo make install
2 卸载(OpenCV3.1.0为例)
2.1 卸载命令(编译目录)

cd opencv-3.1.0/release/
sudo make uninstall
cd ..
sudo rm -r release
sudo rm -r /usr/local/include/opencv2 /usr/local/include/opencv /usr/include/opencv /usr/include/opencv2 /usr/local/share/opencv /usr/local/share/OpenCV /usr/share/opencv /usr/share/OpenCV /usr/local/bin/opencv* /usr/local/lib/libopencv*

2.2 卸载其它
sudo apt-get –purge remove opencv-doc opencv-data python-opencv

查看opencv版本

python3
import cv2
cv2.__version__

若不成功,配置环境变量
1)安装成功后还需要设置opencv的环境变量。打开文件:

sudo gedit /etc/ld.so.conf.d/opencv.conf
2)将以下内容添加到最后:

/usr/local/opencv4/lib

  1. 接下来配置库:

sudo ldconfig

  1. 更改环境变量:

sudo gedit /etc/bash.bashrc

  1. 在文件后添加:

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/opencv4/lib/pkgconfig
export PKG_CONFIG_PATH

  1. 保存退出,在运行下面的例程之前,需要重新开启终端来使配置生效。

***东拼西凑,概不负责,只为自己记录查看。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,921评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,635评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,393评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,836评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,833评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,685评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,043评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,694评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,671评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,670评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,779评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,424评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,027评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,984评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,214评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,108评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,517评论 2 343