Jetson nano升级opencv带cuda版本

一、前言

        在C++推理Yolo的onnx模型的时候,速度实在太慢了,一查,gpu没跑,opencv版本太低了,不支持cuda加速。

python3
import cv2
cv2.__version__
cv2.cuda.getCudaEnabledDeviceCount()

二、步骤

1、下载地址

cuda版本

cpu版本

2、编译

        下载完成后解压,先安装不带cuda版本,安装之后系统就自带了cv,cuda才能编译

tar -xzvf opencv-4.7.0.tar.gz
cd opencv-4.7.0/

        安装依赖,这里踩了很多坑,弄了好久,直接贴出来,包很多

sudo apt install ffmpeg libopenblas-dev libblas-dev protobuf-compiler libgoogle-glog-dev libgflags-dev libopenmpi-dev libomp-dev libpixman-1-dev libcairo2-dev libgtk-3-dev libavcodec-dev libavformat-dev libxvidcore-dev libx264-dev libavresample-dev libswresample-dev libavdevice-dev libatlas-base-dev libhdf5-dev 

        然后就和c++一样编译 

mkdir build
cd build

         cmake要输入一些参数

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.6.0/modules -D WITH_CUDA=ON -D CUDA_ARCH_BIN=5.3 -D CUDA_ARCH_PTX="" -D ENABLE_FAST_MATH=ON -D CUDA_FAST_MATH=ON -D WITH_CUBLAS=ON -D WITH_LIBV4L=ON -D WITH_GSTREAMER=ON -D WITH_GSTREAMER_0_10=OFF -D WITH_QT=ON -D WITH_OPENGL=ON -D CUDA_NVCC_FLAGS="--expt-relaxed-constexpr" -D WITH_TBB=ON ..

make -j4

        这个好久好久,要一个半小时

sudo make install

        安装成功,查看版本

bash
python3
import cv2
cv2.__version__

3、安装cuda版本

        解压

tar -xzvf opencv_contrib-4.7.0.tar.gz
cd ../../opencv-4.7.0/build

        编译,其中路径和GPU架构每个人都可能不同

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D INSTALL_PYTHON_EXAMPLES=ON -D INSTALL_C_EXAMPLES=OFF -D OPENCV_GENERATE_PKGCONFIG=ON -D OPENCV_ENABLE_NONFREE=ON -D WITH_CUDA=ON -D WITH_CUDNN=ON -D OPENCV_DNN_CUDA=ON -D ENABLE_FAST_MATH=1 -D CUDA_FAST_MATH=1 -D CUDA_ARCH_BIN=5.3 -D WITH_CUBLAS=1 -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.7.0/modules -D HAVE_opencv_python3=ON -D PYTHON_EXECUTABLE=usr/bin/python3.6 -D BUILD_EXAMPLES=ON ..

 

        踩坑:如果你gcc版本在8以上,请降级到7,不然会向我一样编译2小时后才报错

export CC=/usr/bin/gcc-7
export CXX=/usr/bin/g++-7
make -j5

         这个更慢

        历时4个小时,完成!

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值