jetson编译opencv支持cuda,gstreamer,人脸识别等

后面配置中支持 人脸识别,gstreamer,ffmpeg 等,可根据需要增删配置

准备工作

#卸载
sudo apt purge libopencv*
sudo apt autoremove
sudo apt update

#安装依赖
sudo apt install -y build-essential cmake pkg-config unzip yasm git checkinstall
sudo apt install -y libjpeg-dev libpng-dev libtiff-dev
sudo apt install -y libavcodec-dev libavformat-dev libswscale-dev libavresample-dev
sudo apt install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
sudo apt install -y libxvidcore-dev x264 libx264-dev libfaac-dev libmp3lame-dev libtheora-dev 
sudo apt install -y libfaac-dev libmp3lame-dev libvorbis-dev
sudo apt install -y libopencore-amrnb-dev libopencore-amrwb-dev
sudo apt install -y libdc1394-22 libdc1394-22-dev libxine2-dev libv4l-dev v4l-utils

cd /usr/include/linux
sudo ln -s -f ../libv4l1-videodev.h videodev.h
cd ~

sudo -H pip3 install -U pip numpy
sudo apt install -y libgtk-3-dev
sudo apt install -y python3-dev python3-pip
sudo apt install -y python3-testresources
sudo apt install -y webp libwebp-dev
sudo apt install -y libopenexr-dev
sudo apt install -y libtbb-dev
sudo apt install -y libatlas-base-dev gfortran
sudo apt install -y libprotobuf-dev protobuf-compiler
sudo apt install -y libgoogle-glog-dev libgflags-dev
sudo apt install -y libgphoto2-dev libeigen3-dev libhdf5-dev doxygen




下载安装 

注意项 编译过程中报警,提前解决:

fatal error: Eigen/Core: No such file or directory

sudo ln -s /usr/include/eigen3/Eigen /usr/include/Eigen

 CUDA_TOOLKIT_ROOT_DIR  /usr/local/cuda下自己去看

编译前注意下gcc版本

gcc -v

modules/core/CMakeFiles/opencv_core.dir/build.make:63: recipe for target 'modules/core/CMakeFiles/cuda_compile_1.dir/src/cuda/cuda_compile_1_generated_gpu_mat.cu.o' failed

 查看对应关系,选择合适的版本

CUDA incompatible with my gcc version - Stack Overflow

升级gcc示例:

# 查看 gcc 版本
gcc --version

# 安装 gcc-8
sudo apt-get update
sudo apt-get install gcc-8 g++-8

# 查看 gcc 版本,这时候还是之前的版本
gcc --version

# 查看 gcc-8 版本,已经有 gcc-8 版本
gcc-8 --version

# 更换默认版本为 gcc-8
# 如果你的 gcc 版本为 7,若不为 7,将其替换成别的版本
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 10 --slave /usr/bin/g++ g++ /usr/bin/g++-7
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 20 --slave /usr/bin/g++ g++ /usr/bin/g++-8

# 选择 gcc-8 对应的数字
sudo update-alternatives --config gcc

# 再次查看 gcc 版本,gcc 版本为 8
gcc -version

查看CUDA_ARCH_BIN 版本号 只写一个 461 是7.2 511是8.7

cd /usr/local/cuda/samples/1_Utilities/deviceQuery

sudo make

./deviceQuery

 vgg_generated*下载不动

/opencv_contrib-4.1.1/modules/xfeatures2d/cmake 下两个文件,把


https://raw.githubusercontent.com/

改为:https://gitclone.com/raw.githubusercontent.com

有时候face_landmark_model.dat还是下载不下来,重新cmake 

cd 
mkdir opencv
cd opencv
wget  https://github.com/opencv/opencv/archive/refs/tags/4.5.4.zip
wget   https://github.com/opencv/opencv_contrib/archive/refs/tags/4.5.4.zip

#解压 
cd opencv-4.5.4
mkdir build
cd build


cmake -D CMAKE_BUILD_TYPE=RELEASE  \
        -D CMAKE_INSTALL_PREFIX=/usr/local  \
        -D BUILD_opencv_python3=ON  \
        -D WITH_GSTREAMER=ON \
        -D WITH_FFMPEG=ON \
        -D CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-11.4 \
        -D WITH_TBB=ON \
        -D ENABLE_FAST_MATH=ON \
        -D CUDA_FAST_MATH=ON \
        -D WITH_CUBLAS=ON \
        -D WITH_CUDA=ON  \
        -D BUILD_opencv_cudacodec=OFF \
        -D WITH_CUDNN=ON \
        -D OPENCV_DNN_CUDA=ON  \
        -D CUDA_ARCH_BIN="7.2" \
        -D WITH_V4L=ON \
        -D WITH_QT=OFF \
        -D WITH_OPENGL=ON \
        -D WITH_GSTREAMER=ON  \
        -D OPENCV_GENERATE_PKGCONFIG=ON \
        -D OPENCV_ENABLE_NONFREE=ON \
        -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.5.4/modules \
        -D INSTALL_PYTHON_EXAMPLES=OFF  \
        -D INSTALL_C_EXAMPLES=OFF \
        -D BUILD_EXAMPLES=OFF ..

make -j4

sudo make install


 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值