当前位置: 首页 > news >正文

在Ubuntu系统下编译OpenCV 4.8源码

编译OpenCV 4.8源码可以为你提供更高的灵活性和优化性能,适合特定的需求。以下是详细的步骤,指导你在Ubuntu系统上编译和安装OpenCV 4.8。

1. 安装必要的依赖

首先,确保你的系统已经安装了所有必要的依赖项。

sudo apt update
sudo apt install -y build-essential cmake git pkg-config libgtk-3-dev \libavcodec-dev libavformat-dev libswscale-dev libv4l-dev \libxvidcore-dev libx264-dev libjpeg-dev libpng-dev libtiff-dev \gfortran openexr libatlas-base-dev python3-dev python3-numpy \libtbb2 libtbb-dev libdc1394-22-dev
​

2. 下载OpenCV 4.8源码

从OpenCV的GitHub仓库下载源码。

cd ~
git clone https://github.com/opencv/opencv.git
cd opencv
git checkout 4.8.0
git clone https://github.com/opencv/opencv_contrib.git
cd opencv_contrib
git checkout 4.8.0
​

3. 创建构建目录

创建一个单独的目录用于构建,以保持源码目录的整洁。

cd ~/opencv
mkdir build
cd build
​

4. 配置构建

使用 cmake配置构建选项。在此步骤中,我们指定了构建目录、源代码目录和额外模块的路径。

cmake -D CMAKE_BUILD_TYPE=Release \-D CMAKE_INSTALL_PREFIX=/usr/local \-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \-D WITH_CUDA=ON \-D ENABLE_FAST_MATH=1 \-D CUDA_FAST_MATH=1 \-D WITH_CUBLAS=1 \-D BUILD_opencv_python3=ON \-D BUILD_EXAMPLES=ON ..
​

5. 编译OpenCV

开始编译OpenCV。这可能需要一些时间,具体取决于你的硬件配置。

make -j$(nproc)
​

6. 安装OpenCV

编译完成后,安装OpenCV到系统目录中。

sudo make install
sudo ldconfig
​

7. 验证安装

验证OpenCV是否正确安装,可以通过Python或C++代码进行简单测试。

7.1 Python测试
python3 -c "import cv2; print(cv2.__version__)"
​
7.2 C++测试

创建一个简单的C++文件,例如 test.cpp

#include <opencv2/opencv.hpp>
#include <iostream>int main() {std::cout << "OpenCV Version: " << CV_VERSION << std::endl;return 0;
}
​

编译并运行:

g++ test.cpp -o test `pkg-config --cflags --libs opencv4`
./test
​

相关文章:

  • Linux驱动:驱动编译流程了解
  • AI日报 · 2025年5月12日|OpenAI 更新「Supervised Fine‑Tuning」文档与 API 示范
  • Ubuntu源码版comfyui的安装
  • 二、HAL库的命名规则详解
  • Edge浏览器打开PDF文件显示空白(每次需要等上一会)
  • Docker-配置私有仓库(Harbor)
  • Kubernetes控制平面组件:Kubelet详解(一):API接口层介绍
  • 【CF】Day57——Codeforces Round 955 (Div. 2, with prizes from NEAR!) BCD
  • 图形化编程如何从工具迭代到生态重构?
  • 腾讯怎样基于DeepSeek搭建企业应用?怎样私有化部署满血版DS?直播:腾讯云X DeepSeek!
  • URP - 深度贴花效果实现
  • 高并发场景下的BI架构设计:衡石分布式查询引擎与缓存分级策略
  • 特伦斯折叠重锤电钢琴:年轻音乐人释放音乐自由的新选择
  • 编写一个处理txt的loader插件,适用于wbepack
  • 配置Hadoop集群环境准备
  • STM32核心机制解析:重映射、时间片与系统定时器实战——从理论到呼吸灯开发
  • 深度 |国产操作系统“破茧而出”:鸿蒙电脑填补自主生态空白
  • linux CUDA与CUDNN安装教程
  • 2025年渗透测试面试题总结-渗透测试红队面试七(题目+回答)
  • Linux 上安装RabbitMQ
  • 影子调查丨三名“淘金客”殒命雪峰山:千余废弃金矿洞的监管难题
  • 高培勇:中国资本市场的发展应将预期因素全面纳入分析和监测体系
  • 习近平圆满结束对俄罗斯国事访问并出席纪念苏联伟大卫国战争胜利80周年庆典
  • 印度军方否认S-400防空系统被摧毁
  • OpenAI任命了一位新CEO
  • 李公明︱一周书记:浪漫主义为什么……仍然重要?