当前位置: 首页 > 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
​
http://www.xdnf.cn/news/398809.html

相关文章:

  • react-diff-viewer 如何实现语法高亮
  • 一小时学会Docker使用!
  • 树莓派4基于Debian GNU/Linux 12 (Bookworm)开启VNC,使用MobaXterm连接VNC出现黑屏/灰屏问题
  • 笔记本电脑升级实战手册【扩展篇1】:flash id查询硬盘颗粒
  • 十四、继承与组合(Inheritance Composition)
  • 【Linux网络编程】HTTPS协议原理
  • 杨校老师项目之基于SSM与JSP的鲜花销售系统-【成品设计含文档】
  • node版本.node版本、npm版本和pnpm版本对应
  • 深入理解目标检测中的关键指标及其计算方法
  • 深度 |国产操作系统“破茧而出”:鸿蒙电脑填补自主生态空白
  • WebRTC实时音视频通话技术EasyRTC嵌入式音视频通信SDK,助力智慧物流打造实时高效的物流管理体系
  • Linux服务器管理面板新选择:mdserver-web深度解析与使用指南
  • 容器化-Docker-私有仓库Harbor
  • 【Web前端开发】CSS基础
  • 69、微服务保姆教程(十二)容器化与云原生
  • python打卡day22
  • MySQL 8.0安装(压缩包方式)
  • QMK键盘固件中LED锁定指示灯的配置与使用详解(实操部分+拓展)
  • 如何让rabbitmq保存服务断开重连?保证高可用?
  • 付费专栏·Python潮流周刊电子书合集(epub、pdf、markdown)下载
  • 基于微信小程序的城市特色旅游推荐应用的设计与实现
  • DVWA靶场保姆级通关教程--07SQL注入下
  • 机器学习第七讲:概率统计 → 预测可能性,下雨概率70%就是典型应用
  • 药物抓取准确率97.3%!YOLO-EASB+IAFFGA-Net:如何让智能药房机器人靠视觉算法征服杂乱场景?
  • 搭建大数据学习的平台
  • 服务网格的“解剖学” - 控制平面与数据平面
  • 支付宝API-SKD-GO版
  • 打破GPU显存墙:FlashAttention-2算法在LLM训练中的极致优化实践
  • OpenCV CUDA 模块中在 GPU 上对图像或矩阵进行 翻转(镜像)操作的一个函数 flip()
  • Dockerfile 常见语法和指令