opencv::dnn 模块是否与 Ubuntu 兼容

opencv::dnn 模块是否与 Ubuntu 兼容

我在 Windows 上使用 opencv::dnn 模块编译了一个应用程序 (YOLOv3)。现在我想在 Ubuntu 上编译同一个应用程序。但我无法运行它。
有人在 Ubuntu 上使用过 opencv::dnn 吗?

答案1

首先,请确保您已安装 CUDA 和 CuDNN。
其次,按照以下步骤安装支持 CUDA 的 opencv。

让我们安装一些依赖项:

sudo apt update -y
sudo apt upgrade -y --no-install-recommends
sudo apt install -y build-essential pkg-config cmake git wget curl unzip
sudo apt install -y libgtk-3-dev
sudo apt install -y ffmpeg
sudo apt install -y libavcodec-dev libavformat-dev libavutil-dev libswscale-dev libavresample-dev
sudo apt install -y libyaml-cpp-dev libgoogle-glog-dev libgflags-dev 

然后安装以下软件包:

sudo apt-get install libjpeg8-dev libtiff5-dev libjasper-dev libpng12-dev
sudo apt-get install libgtk2.0-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libatlas-base-dev gfortran
sudo apt-get install libhdf5-serial-dev  

我们将在/opt/文件夹中安装 opencv 4.2.0,因此运行cd /opt/ 然后运行以下命令下载 OpenCV 4.2.0:

wget -O opencv.zip https://github.com/Itseez/opencv/archive/4.2.0.zip

之后,运行以下命令下载OpenCV的contrib模块:

wget -O opencv_contrib.zip https://github.com/Itseez/opencv_contrib/archive/4.2.0.zip  

完成后,解压下载的文件:

unzip opencv.zip
unzip opencv_contrib.zip  

我们现在可以使用 cmake 来配置我们的构建。运行以下命令时要特别小心:

cd opencv-4.2.0  
mkdir build  
cd build

创建所需的文件夹后,运行此命令开始编译 opencv:

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_CUDA=ON -D ENABLE_FAST_MATH=1 -D CUDA_FAST_MATH=1 -D WITH_CUBLAS=1 -D INSTALL_PYTHON_EXAMPLES=ON -D OPENCV_EXTRA_MODULES_PATH=/opt/opencv_contrib-4.2.0/modules /opt/opencv-4.2.0/ -D BUILD_EXAMPLES=ON -DBUILD_opencv_cudacodec=OFF -D OPENCV_DNN_CUDA=ON -D WITH_CUDNN

cmake构建所有 OpenCV 和 Cuda NVCC 库大约需要 5 分钟。之后,执行以下命令:

make-j4   

完成后make-j4,运行:

make install

如果出现错误,请运行sudo make install

最后运行:

ldconfig

或者sudo ldconfig如果您遇到权限被拒绝的情况。

致谢: 从源代码使用 Cuda 编译 Opencv。

其他资源:
-加速 OpenCV 4.2.0 – 使用 CUDA 和 Python 绑定构建
-如何将 OpenCV 的“dnn”模块与 NVIDIA GPU、CUDA 和 cuDNN 结合使用

相关内容