亿恩 网站备案,新网站建设公司,国内代理ip免费,成都的汽车网站建设AGX Xavier 场景下的 【OpenCV FFmpeg CUDA GStreamer】 重装 编译的2025年稳定方案✅ 1️⃣ 先卸载老版本AGX 自带很多预装包#xff0c;原则#xff1a;卸载干净#xff0c;避免旧库和新编译冲突。#x1f539; 卸载 OpenCVdpkg -l | grep opencv
sudo apt-get …
AGX Xavier 场景下的 【OpenCV FFmpeg CUDA GStreamer】 重装 编译的2025年稳定方案
✅ 1️⃣ 先卸载老版本AGX 自带很多预装包原则卸载干净避免旧库和新编译冲突。卸载 OpenCV
dpkg -l | grep opencv
sudo apt-get remove --purge libopencv* python3-opencv# 自己 make install 装过的也一起删
sudo rm -rf /usr/local/include/opencv4
sudo rm -rf /usr/local/lib/libopencv*
sudo rm -rf /usr/local/lib/pkgconfig/opencv4.pc
sudo rm -rf /usr/local/lib/python3*/dist-packages/cv2*# 卸载 pip 版本如果有
pip3 uninstall opencv-python opencv-contrib-pythonsudo ldconfig卸载 FFmpeg
dpkg -l | grep ffmpeg
sudo apt-get remove --purge ffmpegsudo rm -rf /usr/local/bin/ffmpeg /usr/local/bin/ffprobe /usr/local/lib/libav*sudo ldconfig
✅ 2️⃣ 检查 CUDA 和 GStreamerAGX Xavier 自带 CUDAJetPack 4.5 默认是 CUDA 10.2 GStreamer 1.14.x
→ 不要自己乱装 CUDA保持 JetPack 自带就行。检查一下
nvcc --version
gst-launch-1.0 --version
确认有
CUDA compilation tools, release 10.2, V10.2.89
GStreamer 1.14.x✅ 3️⃣ 安装依赖
sudo apt-get update# 编译工具
sudo apt-get install -y build-essential cmake git pkg-config# GStreamer (一定要有)
sudo apt-get install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \gstreamer1.0-plugins-good gstreamer1.0-plugins-bad \gstreamer1.0-plugins-ugly gstreamer1.0-libav# 图像编解码
sudo apt-get install -y libjpeg-dev libpng-dev libtiff-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev# OpenGL 和 V4L2
sudo apt-get install -y libgtk-3-dev libcanberra-gtk* libtbb2 libtbb-dev libdc1394-22-dev# Python
sudo apt-get install -y python3-dev python3-numpy
✅ 4️⃣ 编译 OpenCV (推荐 4.5.5) 拉源码
cd ~
git clone https://github.com/opencv/opencv.git
cd opencv
git checkout 4.5.5cd ~
git clone https://github.com/opencv/opencv_contrib.git
cd opencv_contrib
git checkout 4.5.5cd ~/opencv
mkdir build cd build将opencv_contrib放在opencv的文件夹下。后面配置CMake路径时注意统一。
解决ADE被墙 cmake的过程中会因为下载ADE被墙而停顿因此只好手动下载。
wget https://github.com/opencv/ade/archive/refs/tags/v0.1.1f.zip
# 解压到 opencv_contrib/modules/ade 或者 opencv/3rdparty/ade
unzip v0.1.1f.zip
mv ade-0.1.1f/* ~/opencv_build/opencv/3rdparty/ade
opencv/├── 3rdparty/│ ├── ade/│ ├── CMakeLists.txt│ ├── source.cpp ...只要在 opencv/3rdparty/ade/ 里能找到它的 CMakeLists.txt就没问题。
并在CMake是加上一句
-D OPENCV_ADE_DIR~/opencv_build/opencv/3rdparty/ade解决NVIDIA_OPTICAL_FLOW被墙 CMake 推荐配置AGX Xavier 专属
cmake -D CMAKE_BUILD_TYPERelease -D CMAKE_INSTALL_PREFIX/usr/local -D OPENCV_EXTRA_MODULES_PATH~/opencv/opencv_contrib/modules -D WITH_CUDAON -D WITH_CUDNNON -D OPENCV_DNN_CUDAON -D ENABLE_FAST_MATHON -D CUDA_FAST_MATHON -D WITH_CUBLASON -D WITH_GSTREAMERON -D WITH_FFMPEGON -D WITH_GSTREAMER_0_10OFF -D WITH_LIBV4LON -D WITH_OPENGLON -D WITH_QTOFF -D BUILD_opencv_python2OFF -D BUILD_opencv_python3ON -D PYTHON3_EXECUTABLE$(which python3) -D PYTHON3_INCLUDE_DIR$(python3 -c from sysconfig import get_paths as gp; print(gp()[include])) -D PYTHON3_LIBRARY$(python3 -c from sysconfig import get_paths as gp; print(gp()[stdlib])) -D OPENCV_GENERATE_PKGCONFIGON -D BUILD_TESTSOFF -D OPENCV_ENABLE_NONFREEON -D BUILD_EXAMPLESOFF -D OPENCV_ADE_DIR~/opencv/3rdparty/ade ..需要包含
-D BUILD_opencv_python3ON \
-D PYTHON3_EXECUTABLE$(which python3) \
-D PYTHON3_INCLUDE_DIR$(python3 -c from sysconfig import get_paths as gp; print(gp()[include])) \
-D PYTHON3_LIBRARY$(python3 -c from sysconfig import get_paths as gp; print(gp()[stdlib])) \ 否则会提示python3 -c import cv2; print(cv2.getBuildInformation()) | grep CUDATraceback (most recent call last):File string, line 1, in module
ModuleNotFoundError: No module named cv2
nvidiaagxA:~/opencv/build$ python3 -c import cv2; print(cv2.getBuildInformation()) | grep GStreamer
Traceback (most recent call last):File string, line 1, in module
ModuleNotFoundError: No module named cv2 编译 安装
make -j$(nproc) # Xavier AGX 建议一次用 4-6 核别一次全开避免 OOM
sudo make install
sudo ldconfig
✅ 5️⃣ 可选FFmpeg如果主要用 GStreamer 了FFmpeg 不必须单独编译。要自己带硬编解码Jetson 上推荐用 NVIDIA 提供的 L4T Multimedia API 或者 nvmpi 社区版。nvmpi 维护得很久没更新新项目直接用 GStreamer nvarguscamerasrc nvv4l2decoder 最稳定。✅ 6️⃣ 验证
# OpenCV
python3 -c import cv2; print(cv2.getBuildInformation()) | grep CUDA
python3 -c import cv2; print(cv2.getBuildInformation()) | grep GStreamer# GStreamer
gst-inspect-1.0 | grep nv
关键点总结1️⃣ JetPack 4.5 的 CUDA/FFmpeg/GStreamer 都需要自己编时打开
2️⃣ ADE 可手动解压替代自动下载
3️⃣ JNI、Tesseract 非刚需可以跳过或后装
4️⃣ BUILD_opencv_python3ON 和 Python 路径一定配好
5️⃣ 不要混用 pip 的 opencv-python它是 CPU 版没 GPU