ubuntu 自定义编译OPENCV版本Python配置路径的问题
在nvidia jetson nano的开发板中,编译opencv4.2 cuda 版本,
4.2的版本中DNN模块已经支持nvidia的GPU了。所以安装4.2版本使用DNN深度学习。
在本教程的其余部分中,我将向您展示如何从源代码编译 OpenCV,以便您可以利用 NVIDIA GPU 加速推理来进行预训练的深度神经网络。
1你知道如何使用命令行。我们将在本教程中使用命令行。如果您不熟悉命令行,我建议您先阅读此命令行介绍,然后花几个小时(甚至几天)练习。同样,本教程不适用于命令行新手。
2您能够读取终端输出并诊断问题。如果您以前从未这样做过,从源代码编译 OpenCV 可能会很有挑战性——有很多事情会让您感到困惑,包括丢失的包、不正确的库路径等。即使使用我的详细指南,您也可能会犯错误一路上。不要气馁!花点时间了解您正在执行的命令,它们的作用,最重要的是,阅读命令的输出!不要盲目复制粘贴;你只会遇到错误。
OPENCV4.2 支持英伟达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_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/modules
\
-D HAVE_opencv_python3=ON \
-D PYTHON_EXECUTABLE=/usr/bin/python3 \
-D BUILD_EXAMPLES=ON ..
编译打开CUDA cudnn 指定archbin的版本号,指定python版本和路径。
CMAKE完成后可以查看输出,确认GPU版本是否正确。 cd ~
$ wget -O opencv.zip https://github.com/opencv/opencv/archive/4.2.0.zip
$ wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.2.0.zip
$ unzip opencv.zip
$ unzip opencv_contrib.zip
$ mv opencv-4.2.0 opencv
$ mv opencv_contrib-4.2.0 opencv_contrib
https://developer.nvidia.com/cuda-gpus
$ cd ~/opencv
$ mkdir build
$ cd build
cd ~/.local/lib/python3.6/site-packages 建立软连接
id@lid-desktop:~/.local/lib/python3.6/site-packages$
lid@lid-desktop:~/.local/lib/python3.6/site-packages$
sudo ln -s
/usr/local/lib/python3.6/dist-packages/cv2/python-3.6/cv2.cpython-36m-aarch64-linux-gnu.so
cv2.so
lid@lid-desktop:~/.local/lib/python3.6/site-packages$
测试
lid@lid-desktop:~$ python3
Python 3.6.9 (default, Oct 8 2020, 12:12:24)
[GCC 8.4.0] on linux
Type "help",
"copyright", "credits" or "license" for more
information.
>>> import cv2
>>> cv2.__version__
'4.2.0'
>>> exit()