ubuntu20.04安装opencv4.6.0-CUDA版本

ubuntu20.04安装opencv4.6.0-CUDA版本

一、下载opencv和对应的opencv_contrib

在这里插入图片描述

二、安装依赖库

sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

三、编译opencv

1.在opencv目录下,创建build文件夹
2.进入build目录,执行如下cmake命令


cmake -D CMAKE_BUILD_TYPE=Release \
    -D OPENCV_EXTRA_MODULES_PATH=/home/zxm/opencv/opencv_contrib-4.6.0/modules \
    -D OPENCV_ENABLE_NONFREE=ON \
    -D WITH_OPENMP=ON \
    -D WITH_TBB=ON \
    -D WITH_QT=ON \
    -D CUDA_NVCC_FLAGS="--Wno-deprecated-gpu-targets" \
    -D OPENCV_EXTRA_EXE_LINKER_FLAGS=-latomic \
    -D ENABLE_PRECOMPILED_HEADERS=OFF \
    -D WITH_CUDA=ON \
    -D ENABLE_FAST_MATH=ON \
    -D CUDA_FAST_MATH=ON \
    -D WITH_CUBLAS=ON \
    -D PYTHON3_EXECUTABLE=/usr/bin/python3 \
    -D PYTHON3_INCLUDE_DIR=$(/usr/bin/python3 -c "from distutils.sysconfig import get_python_inc; print(get_python_inc())") \
    -D PYTHON3_PACKAGES_PATH=$(/usr/bin/python3 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())") \
    -D PYTHON3_NUMPY_INCLUDE_DIRS=$(/usr/bin/python3 -c "import numpy as np;import os; print(os.path.dirname(np.__file__)+'/core/include')") \
    -D OPENCV_GENERATE_PKGCONFIG=ON \
    -D CMAKE_INSTALL_PREFIX=/usr/local/opencv4 \
    ..

3.执行编译

make -j8
sudo make install

4.配置环境

sudo gedit /etc/ld.so.conf.d/opencv.conf
# 填入下面的信息
/usr/local/opencv4/lib
# 保存配置文件
sudo ldconfig

sudo gedit /etc/bash.bashrc  
# 写入下面的信息
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/opencv4/lib/pkgconfig
export PATH=$PATH:/usr/local/opencv4/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/opencv4/lib

5.更新配置

source /etc/bash.bashrc

6.测试

pkg-config --modversion opencv4

在这里插入图片描述

Qt中测试

INCLUDEPATH += /usr/local/opencv4/include \
               /usr/local/opencv4/include/opencv4 \
               /usr/local/opencv4/include/opencv4/opencv2

LIBS += /usr/local/opencv4/lib/libopencv*
#include <iostream>
#include <opencv2/opencv.hpp>

using namespace cv;
using namespace std;
using namespace cv::cuda;

void opencv_test(){
    cout <<"opencv test" << endl;
    cout <<"opencv version: " << CV_VERSION << endl;

    Mat src = imread("/home/zxm/图片/opencv.png");

    if(src.empty()){
        cout << "could not load image" << endl;
        return;
    }

    namedWindow("src",WINDOW_NORMAL);

    imshow("src",src);
    waitKey(2000);
}

void cuda_test(){
    cout << "CUDA-opencv test" << endl;

    int num_devices = getCudaEnabledDeviceCount();
        if (num_devices == 0 )
        {
            std::cout << "OpenCV is compiled without CUDA support" << endl;
            return;
        }
        else if (num_devices == -1)
        {
            std::cout << "CUDA driver is not installed" << endl;
            return;
        }
        else if (num_devices >= 1)
        {
            std::cout << "CUDA-Opencv can be used and the number of GPU is :" << num_devices << endl;
            return;
        }
}
int main()
{

    opencv_test();

    cuda_test();
    return 0;
}

在这里插入图片描述

参考-Ubuntu20.04 安装OpenCV4.6.0

  • 4
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值