准备工作

原材料

版本信息

  • 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

最新文章

  1. Texture Filter中的Bilinear、Trilinear以及Anistropic Filtering
  2. [HDU3709]Balanced Number
  3. 2015年第3本(英文第2本):Daughter of Deceit
  4. 重载 && 重载递增递和减运算符
  5. 三步搞定ISO/GHO安装系统 - imsoft.cnblogs
  6. 阻塞机制下的recv小结
  7. Windows 中默认安装的.Net 版本
  8. iscroll-lite.js源码注释
  9. connect by prior 递归算法
  10. 用vue实现点击编辑按钮将li变为可以输入文本的input
  11. 【RL-TCPnet网络教程】第33章 SMTP简单邮件传输协议基础知识
  12. MongoDB分片 在部署和维护管理 中常见事项的总结
  13. Java多线程之synchronized及其优化
  14. [flask]gunicorn配置文件
  15. java中自己常犯的错误汇总
  16. java反射修改final变量
  17. Spring学习之路-从入门到放弃
  18. sysbench压力测试工具安装及使用
  19. HDU 4864
  20. 13-[CSS]-postion位置:相relative,绝absolute,固fixed,static(默认),z-index

热门文章

  1. NLP之基于Bi-LSTM和注意力机制的文本情感分类
  2. 基于Seq2Seq和注意力机制的句子翻译
  3. webRTC demo
  4. 编辑距离(Minimum Edit Distance)
  5. 在博客中实现播放音乐功能(QQ,网易,酷狗,虾米,百度)
  6. PYQT5 学习
  7. 动态爱心-详细教程(小白也会)(HTML)
  8. WinDBG详解进程初始化dll是如何加载的
  9. JDK源码分析实战系列-PriorityQueue
  10. 《Hierarchical Text-Conditional Image Generation with CLIP Latents》阅读笔记