準備工作 原材料 Ubuntu 系統(非必須,Windows 也可以,主要是 Ubuntu 適合編譯) OpenCV 3.4.1 壓縮包 OpenCV contrib 3.4.1 壓縮包 MinGW(Windows 上運行 GCC) 版本信息 GCC 版本 7.5.0 G++ 版本 7.5.0 Op ...
準備工作
原材料
- Ubuntu 系統(非必須,Windows 也可以,主要是 Ubuntu 適合編譯)
- OpenCV 3.4.1 壓縮包
- OpenCV contrib 3.4.1 壓縮包
- MinGW(Windows 上運行 GCC)
版本信息
- 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
本文來自博客園,作者:Ahtelek·B,轉載請註明原文鏈接:https://www.cnblogs.com/AhtelekB/p/cplusplus-opencv.html