准备工作

原材料

版本信息

  • GCC 版本 7.5.0
  • G++ 版本 7.5.0
  • OpenCV 版本 3.4.1
  • Cmake 版本 3.10

编译组件和依赖包的安装(Windows 请跳过)

sudo apt install -y build-essential ccache cmake doxygen g++ gcc git libavcodec-dev libavformat-dev libavresample-dev libdc1394-22-dev libgphoto2-dev libgtk2.0-dev libjasper-dev libjpeg-dev libjpeg.dev libopenblas-base libopenblas-dev libpng-dev libswscale-dev libtbb2 libtbb-dev libtiff-dev libtiff5.dev libv4l-dev libvtk5-dev libvtk6-dev openjdk-8-jdk pkg-config pylint python-dev python-numpy qt5-default

下载并解压 OpenCV 和 OpenCV Contrib

# Ubuntu 命令行 和 Ubuntu 桌面
wget https://github.com/opencv/opencv/archive/3.4.1.zip
wget https://github.com/opencv/opencv_contrib/archive/refs/tags/3.4.1.zip unzip opencv-3.4.1.zip
unzip opencv_contrib-3.4.1.zip # Windows 和 Ubuntu 桌面端直接下载解压就好了

编译 OpenCV 源码

Ubuntu 命令行

cmake 命令行编译安装

# 新建编译文件夹
mkdir opencv-3.4.1-build # 通过 cd 命令进入编译文件夹
cd opencv-3.4.1-build # CMAKE_INSTALL_PREFIX 是 OpenCV 的安装位置
# OPENCV_EXTRA_MODULES_PATH 是 opencv_contrib-3.4.1 的 modules 文件夹
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=/home/ahtelek/OpenCV/opencv_contrib-3.4.1/modules/ -D BUILD_TIFF=ON .. # make 编译,也可以使用 make -j、make -j8、make -j16 等命令速度会稍快一些
sudo make # 安装
sudo make install

Ubuntu 桌面端和 Windows

cmake-gui + cmake 编译安装

  • 选择好 OpenCV 源码和 OpenCV 编译文件夹
  • 就可以选择 Configure

  • 选择 MinGW Makefiles
  • 复选框选择第二个

  • 这是 MinGW 中 bin 目录下的 gcc.exe 和 g++.exe 文件
  • 选择 Finish

  • 等他跑完

  • 搜索栏搜索 extra
  • 选择 opencv-contrib 下的 modules
  • 再点击 Configure,配置完成点击 Generate。
  • 一直到显示 Configuring done Generating done

  • Win+R cmd cd 到编译文件夹里
  • 输入 MinGW32-make 开始编译,也可以使用 make -j、make -j8、make -j16 等命令速度会稍快一些
  • 编译完成后,再输入 MinGW32-make install 进行安装

  • 编译太慢了就不展示了(下面展示的是 Ubuntu 的)

用别人已经编译好的

GitHub 仓库中有人提供已经编译好的 OpenCV,可以通过 Configuration 看到用了什么编译器、操作系统、cmake 版本

https://github.com/huihut/opencv-mingw-build

https://github.com/huihut/OpenCV-MinGW-Build/releases

史上最简单 OpenCV for C++ 在 Windows 和 Ubuntu 上编译安装使用教程的更多相关文章

  1. 如何在IIS上发布网站 在阿里云服务器windows server2012r iis上部署.net网站

    如何在IIS上发布网站   本片博客记录一下怎么用IIS发布一个网站,以我自己电脑上一个已经开发完成的网站为例: 1.打开项目 这是我电脑上的一个项目,现在我记录一下将这个项目发布到iis上的整个过程 ...

  2. ubuntu系统编译安装OpenCV 4.4

    内容转载自我的博客 目录 前言 1. 下载源码 2. 安装各种依赖 3. 开始编译安装 4. 配置C++开发环境 5. 程序执行时加载动态库*.so 6. 测试cpp文件 7. 配置python3的o ...

  3. Ubuntu下编译安装OpenCV 2.4.7并读取摄像头[转]

    主要参考: 1.http://www.ozbotz.org/opencv-installation/ 2.http://www.ozbotz.org/opencv-install-troublesho ...

  4. Ubuntu下编译安装OpenCV 2.4.7并读取摄像头

    主要参考: 1.http://www.ozbotz.org/opencv-installation/ 2.http://www.ozbotz.org/opencv-install-troublesho ...

  5. 在Windows与Ubuntu上使用tensorboard的不同点

    (1)Ubuntu下使用TensorBoard如官网所述即可.https://www.tensorflow.org/programmers_guide/summaries_and_tensorboar ...

  6. ARM入门实践(一)----Mini6410上最简单的LED点灯裸机程序

    Mini6410上最简单的LED点灯裸机程序 : 实验环境: 根据友善教程,要用ADS,据说现在都不用这个了,但是为了打开友善给的mcp工程,就下了一个,Win7下弄上兼容模式和管理员权限,再下一个S ...

  7. Ubuntu上安装Minecraft服务器

    Minecraft由于其独特的魅力吸引了很多玩家.不过游戏的乐趣只有在和朋友一起玩的时候才最有意思,所以很早以前我就想建设自己的服务器.但由于专业知识欠缺,没有实现. 最近接触了Linux服务器,所以 ...

  8. Ubuntu上安装QQ2015

    先不卖关子直接上图:Ubuntu 14.04.5 LTS Deb包下载地址: http://www.longene.org/download/WineQQ7.8-20151109-Longene.de ...

  9. Ubuntu 16.04 安装OpenCV 3.4.3

    cmake过程中可能遇到的问题:1.如果网络不好,出现ippicv_linux_20151201.tgz无法在终端下载的情况,则可以先单独下载 ippicv_linux_20151201.tgz之后, ...

  10. 史上最简单,一步集成侧滑(删除)菜单,高仿QQ、IOS。

    重要的话 开头说,not for the RecyclerView or ListView, for the Any ViewGroup. 本控件不依赖任何父布局,不是针对 RecyclerView. ...

随机推荐

  1. 知识图谱顶会论文(KDD-2022) kgTransformer:复杂逻辑查询的预训练知识图谱Transformer

    论文标题:Mask and Reason: Pre-Training Knowledge Graph Transformers for Complex Logical Queries 论文地址: ht ...

  2. Java多线程(7):JUC(上)

    您好,我是湘王,这是我的博客园,欢迎您来,欢迎您再来- 前面把线程相关的生命周期.关键字.线程池(ThreadPool).ThreadLocal.CAS.锁和AQS都讲完了,现在就剩下怎么来用多线程了 ...

  3. Aspose.Cell篇章3,设置写入到Excel文件的各种样式及输出

    Aspose.Cell的Style.Number设置全部设置 /// <summary> /// 单元格样式编号 /// 0 General General /// 1 Decimal 0 ...

  4. docker常用配置以及命令

    1. Docker基本概念 1.1 什么是 docker hub DockHub是一个仓库 https://hub.docker.com/ 仓库是集中存放镜像文件的场所 仓库分为公开仓库(Public ...

  5. solidedge型材库/.sldlfp格式转.par

    一.打开solidworks型材库:D:\Program Files\SOLIDWORKS Corp\SOLIDWORKS\lang\chinese-simplified\weldment profi ...

  6. Redis系列11:内存淘汰策略

    Redis系列1:深刻理解高性能Redis的本质 Redis系列2:数据持久化提高可用性 Redis系列3:高可用之主从架构 Redis系列4:高可用之Sentinel(哨兵模式) Redis系列5: ...

  7. Opengl ES之YUV数据渲染

    YUV回顾 记得在音视频基础知识介绍中,笔者专门介绍过YUV的相关知识,可以参考: <音视频基础知识-YUV图像> YUV数据量相比RGB较小,因此YUV适用于传输,但是YUV图不能直接用 ...

  8. 6 STL-vector

    ​ 重新系统学习c++语言,并将学习过程中的知识在这里抄录.总结.沉淀.同时希望对刷到的朋友有所帮助,一起加油哦!  生命就像一朵花,要拼尽全力绽放!死磕自个儿,身心愉悦! 写在前面,本篇章主要介绍S ...

  9. IOS AND Android 配置Fiddler环境

    下载:http://rj.baidu.com/soft/detail/10963.html?ald 运行Fiddler点击Tools: 选择设置选项:   1.     选择HTTPS新选项卡. 2. ...

  10. UEFI引导linux启动过程的顺序,及修改办法

    注意这里我说的是 uefi 启动 启动过程顺序 正常安装完一个Linux系统,硬盘会被分成俩个分区,一块是 fat32 文件系统(启动项存放位置),一块是ext4 文件系统(也就是系统真正的安装位置) ...