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 build

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 \
-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加速版本的全过程

### 安装和配置OpenCV #### 卸载默认的OpenCV版本 由于JetPack预装的OpenCV不支持CUDA加速,建议先完全移除现有的OpenCV安装。这可以通过以下命令完成: ```bash pip3 list | grep opencv pip3 uninstall opencv-python sudo apt purge libopencv* sudo apt autoremove sudo apt update ``` 以上操作会清理所有与OpenCV有关的Python绑定和其他依赖项[^2]。 #### 编译CUDA支持的OpenCV源码 为了获得最佳性能,在Jetson Orin Nano上编译一个具有CUDA优化功能的OpenCV是非常有益的。以下是具体的操作方法: 1. **准备必要的工具链** 更新软件包列表并安装所需的构建工具: ```bash sudo apt-get install cmake git pkg-config libgtk-3-dev \ libavcodec-dev libavformat-dev libswscale-dev \ python3-dev python3-numpy libtbb2 libtbb-dev \ libjpeg-dev libpng-dev libtiff-dev gfortran \ openexr libatlas-base-dev protobuf-compiler \ libgoogle-glog-dev libgflags-dev libeigen3-dev \ libhdf5-dev doxygen ``` 2. **下载OpenCV及其贡献模块** 获取最新稳定版的OpenCV源代码仓库: ```bash cd ~ git clone https://github.com/opencv/opencv.git git clone https://github.com/opencv/opencv_contrib.git # 切换至相同的大版本分支 cd ~/opencv git checkout 4.x cd ~/opencv_contrib git checkout 4.x ``` 3. **创建并配置CMake项目文件夹** 设置合适的选项来启用CUDA特性及其他高级组件: ```bash mkdir -p build && cd build cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D INSTALL_PYTHON_EXAMPLES=ON \ -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \ -D BUILD_EXAMPLES=ON \ -D WITH_CUDA=ON \ -D CUDA_ARCH_BIN="8.9" \ .. ``` 4. **执行多线程编译过程** 考虑到Jetson设备资源有限,推荐采用较低数量的工作进程来进行编译工作: ```bash make -j$(($(nproc) - 1)) sudo make install sudo ldconfig ``` 通过上述流程,可以在Jetson Orin Nano平台上成功部署经过CUDA增强处理过的OpenCV实例。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值