南京电信网站空间扩容,乘客电梯做推广的网站,介绍在家里做的点心的网站,北京装修公司哪家口碑好一些在 Linux 环境下编译安装 OpenCV 4.8.x 需要安装一系列依赖库。以下是详细的步骤说明#xff0c;并附上每个依赖库的作用解释。 1. 环境准备
操作系统
推荐使用 Ubuntu 20.04/22.04 或其他基于 Debian 的 Linux 发行版。
编译器
GCC 9 或更高版本#xff08;默认已安装并附上每个依赖库的作用解释。 1. 环境准备
操作系统
推荐使用 Ubuntu 20.04/22.04 或其他基于 Debian 的 Linux 发行版。
编译器
GCC 9 或更高版本默认已安装CMake 3.5.1 或更高版本用于配置和生成构建文件
Python可选
Python 3.6 或更高版本NumPy用于 Python 绑定 2. 安装依赖库
以下是 OpenCV 4.8.x 编译所需的依赖库及其作用
2.1 基本编译工具
sudo apt update
sudo apt install build-essential cmake git pkg-configbuild-essential包含 GCC 编译器和基本的开发工具如 make。cmake用于配置和生成 OpenCV 的构建文件。git用于下载 OpenCV 源码。pkg-config用于管理编译时的库路径和链接选项。
2.2 图像编解码库
sudo apt install libjpeg-dev libpng-dev libtiff-dev libopenjp2-7-devlibjpeg-devJPEG 图像格式支持。libpng-devPNG 图像格式支持。libtiff-devTIFF 图像格式支持。libopenjp2-7-devJPEG 2000 图像格式支持。
2.3 视频编解码库
sudo apt install libavcodec-dev libavformat-dev libswscale-dev libavutil-devlibavcodec-dev视频编解码支持FFmpeg 的一部分。libavformat-dev视频容器格式支持FFmpeg 的一部分。libswscale-dev视频缩放和颜色空间转换支持FFmpeg 的一部分。libavutil-devFFmpeg 的工具库提供通用功能。
2.4 GUI 支持
sudo apt install libgtk-3-devlibgtk-3-devGTK 图形界面库用于 OpenCV 的窗口显示和用户交互。
2.5 线性代数库
sudo apt install libopenblas-dev libatlas-base-dev liblapack-dev gfortranlibopenblas-dev高性能线性代数库用于矩阵运算。libatlas-base-dev优化的线性代数库。liblapack-dev线性代数库用于高级数学运算。gfortranFortran 编译器用于编译某些数学库。
2.6 多线程支持
sudo apt install libtbb2 libtbb-devlibtbb-devIntel TBBThreading Building Blocks库用于多线程并行计算。
2.7 GStreamer 支持
sudo apt install libgstreamer1.0-dev libgstreamer-plugins-base1.0-devlibgstreamer1.0-devGStreamer 多媒体框架用于视频流处理。libgstreamer-plugins-base1.0-devGStreamer 基础插件。
2.8 Python 绑定支持(可选)
sudo apt install python3-dev python3-numpypython3-devPython 3 开发头文件和库。python3-numpyNumPy 库用于 Python 绑定的矩阵运算。 3. 下载 OpenCV 源码
# 下载 OpenCV 和 OpenCV Contrib 源码
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git# 切换到 4.8.x 版本
cd opencv
git checkout 4.8.x
cd ../opencv_contrib
git checkout 4.8.x4. 配置 CMake
# 创建构建目录
cd ../opencv
mkdir build
cd build# 配置 CMake
cmake -D CMAKE_BUILD_TYPERelease \-D CMAKE_INSTALL_PREFIX/usr/local \-D OPENCV_EXTRA_MODULES_PATH../../opencv_contrib/modules \-D OPENCV_ENABLE_NONFREEON \-D BUILD_opencv_python2OFF \ # 禁用 Python 2 绑定-D BUILD_opencv_python3OFF \ # 禁用 Python 3 绑定-D BUILD_opencv_python_bindings_generatorOFF \ # 禁用 Python 绑定生成器可选配置
启用 CUDA 支持-D WITH_CUDAON \
-D CUDA_TOOLKIT_ROOT_DIR/usr/local/cuda \
-D CUDA_ARCH_BIN7.5 \ # 根据 GPU 架构设置
-D WITH_CUDNNON \启用 OpenCL 支持-D WITH_OPENCLON \启用 VTK 支持-D WITH_VTKON \
-D VTK_DIR/path/to/vtk/build \ # 指定 VTK 安装路径启用 Python 支持-D BUILD_opencv_python3ON \
-D PYTHON3_EXECUTABLE$(which python3) \
-D PYTHON3_INCLUDE_DIR$(python3 -c from distutils.sysconfig import get_python_inc; print(get_python_inc())) \
-D PYTHON3_LIBRARY$(python3 -c import distutils.sysconfig as sysconfig; print(sysconfig.get_config_var(LIBDIR))) \
-D PYTHON3_NUMPY_INCLUDE_DIRS$(python3 -c import numpy; print(numpy.get_include())) 5. 编译和安装
# 编译根据 CPU 核心数调整 -j 参数
make -j$(nproc)# 安装
sudo make install6. 验证安装
C 验证
#include opencv2/core.hpp
#include iostreamint main() {std::cout OpenCV version: cv::getVersionString() std::endl;return 0;
}编译并运行
g -o test_opencv test_opencv.cpp pkg-config --cflags --libs opencv4
./test_opencvPython 验证
import cv2
print(OpenCV version:, cv2.__version__)7. 常见问题
缺少依赖库 根据 CMake 输出的错误信息安装缺失的依赖库。 CUDA 支持问题 确保已安装 CUDA Toolkit 并正确配置环境变量。 Python 绑定问题 确保 Python 和 NumPy 已正确安装并在 CMake 中正确配置路径。