Jetson Orin Nano安装OpenCV带cuda加速版本的全过程

安装过程

使用jetpack安装的jetson,自带了opencv,但是没有cuda加速的,输入opencv_version在这里插入图片描述
使用jtop查看,可以确认自带的opencv是没用cuda的
在这里插入图片描述
卸载opencv,先查看有哪些包
pip3 list | grep opencv
opencv-python
然后卸载掉python包以及lib库

pip3 uninstall opencv-python
sudo apt purge libopencv*
sudo apt autoremove
sudo apt update

安装后面编译需要用到的依赖库

sudo apt install -y build-essential checkinstall cmake pkg-config yasm git gfortran
sudo apt update
sudo apt install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
sudo apt 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 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
sudo apt install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

下载如下两个仓库
https://github.com/opencv/opencv/releases
https://github.com/opencv/opencv_contrib/releases
在这里插入图片描述
解压在同一个文件夹下面

cd opencv-4.5.5
mkdir buildcmake \
-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 \
-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=/home/jetson/Downloads/opencv-4.5.5/opencv_contrib-4.5.5/modules \
..make -j6
sudo make install

可以看到cmake的时候,显示的一些配置信息在这里插入图片描述
其中cv2的包将安装到/lib/python3.8/site-packages/cv2/python-3.8,如下为make的过程在这里插入图片描述
如下为make install的过程
在这里插入图片描述
使用jtop可以看到opencv已经支持cuda加速了在这里插入图片描述
但import cv2时,还是会报no module "cv2"的报错,到build目录下,找到python_load文件夹,这个文件夹就是cv2编译的python package

cd opencv-4.5.5/build/python_loader
sudo pip3 install .

再测试一下,发现和jtop看到的是一致的

jetson@ubuntu:~/Downloads/opencv-4.5.5/build/python_loader$ python3
Python 3.8.10 (default, Nov 22 2023, 10:22:35) 
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> cv2.__version__
'4.5.5'
>>> quit()

视频讲解

Jetson Orin Nano安装OpenCV带cuda加速版本的全过程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/419189.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python系列-输入输出关系运算符算术运算符

🌈个人主页: 会编程的果子君​💫个人格言:“成为自己未来的主人~” 目录 注释的语法 注释的规范 输入输出 通过控制台输出 通过控制台输入 运算符 算术运算符 关系运算符 注释的语法 python中有两种注释风格: 1.注释行:…

logstack 日志技术栈-04-opensource 开源工具 Syslog-ng+Highlight.io

5. Syslog-ng Syslog-ng 是一个开源的日志管理解决方案,主要用于收集和处理日志数据。它可以从多种源收集日志,包括系统日志、网络设备日志和第三方应用日志。 然后将日志解析、分类、重写和关联到统一格式中,然后将其存储或安全地传输到不同…

机器学习系统能在多大程度上理解数学

1.1 LLEMMA:一个开放的数学语言模型 论文地址:https://mathai2023.github.io/papers/45.pdf 代码地址:https://github.com/EleutherAI/math-lm 预训练数据集:https://huggingface.co/datasets/EleutherAI/proof-pile-2 文章提出了…

TensorRT模型优化部署 (八)--模型剪枝Pruning

系列文章目录 第一章 TensorRT优化部署(一)–TensorRT和ONNX基础 第二章 TensorRT优化部署(二)–剖析ONNX架构 第三章 TensorRT优化部署(三)–ONNX注册算子 第四章 TensorRT模型优化部署(四&am…

数据结构 | 红黑树

二叉搜索树 节点的左边比节点的值小,右边比节点的值大。 红黑树 红黑树的性质 节点要么是红色,要么是黑色根节点是黑色叶子节点都是黑色的空节点红黑树中红色节点的子节点都是黑色从任一节点到叶子节点的所有路径都包含相同数目的黑色节点 在添加或者…

git 常规操作及设置

git 常规操作及设置 Git是一个分布式版本控制系统,可以用来跟踪文件的修改历史并与其他人进行协作开发。下面是一些常见的Git操作及设置: 初始化仓库:使用命令git init在当前目录创建一个新的Git仓库。 克隆仓库:使用命令git clo…

第十一站:多态练习ODU

实现动态切换 ODU.h #pragma once #include <iostream> using namespace std; #define ODU_TYPE_311_FLAG "311" #define ODU_TYPE_335_FLAG "335" enum class ODU_TYPE {ODU_TYPE_311,ODU_TYPE_335,ODU_TYPE_UNKNOW };class ODU{ public:ODU();//发…

【ARM Cortex-M 系列 1.1 -- Cortex-M33 与 M4 差异 详细介绍】

请阅读【嵌入式开发学习必备专栏 之 Cortex-Mx 专栏】 文章目录 背景Cortex-M33 与 M4 差异Cortex-M33Cortex-M4关系和差异举例说明 背景 在移植 RT-Thread 到 瑞萨RA4M2&#xff08;Cortex-M33&#xff09;上时&#xff0c;遇到了hardfault 问题&#xff0c;最后使用了Cortex…

JAVA的基础面试题二

​ 1.描述Servlet调用过程&#xff1f; 答案&#xff1a; &#xff08;1&#xff09;在浏览器输入地址&#xff0c;浏览器先去查找hosts文件&#xff0c;将主机名翻译为ip地址&#xff0c;如果找不到就再去查询dns服务器将主机名翻译成ip地址。 &#xff08;2&#xff09;浏…

keil软件仿真

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 前言 例如&#xff1a;随着人工智能的不断发展&#xff0c;机器学习这门技术也越来越重要…

无法打开浏览器开发者工具的可能解决方法

网页地址: https://jx.xyflv.cc/?url视频地址url 我在抖音里面抓了一个视频地址, 获取到响应的json数据, 找到里面的视频地址信息 这个网站很好用: https://www.jsont.run/ 可以使用js语法对json对象操作, 找到所有视频的url地址 打开网页: https://jx.xyflv.cc/?urlhttps:…

【UEFI基础】EDK网络框架(DHCP4)

DHCP4 DHCP4协议说明 DHCP是应用层的协议&#xff0c;DHCP报文是承载UDP上的高层协议报文&#xff0c;采用67&#xff08;DHCP服务器&#xff09;和68&#xff08;DHCP客户端&#xff09;两个端口号。 DHCP的全称是Dynamic Host Configuration Protocol&#xff0c;它的主要…