RainySummer's Blog

Hexo site of RainySummer

0%

OpenCV、MinGW与CLion

序言

准备工作

请下载并安装以下的工具。

MinGW

对于MinGW,推荐MSYS2MinGW-builds

或者读者可以选用mingw-w64官方列表中的其它开发工具链(Toolchain)。

OpenCV

OpenCV下载页面:https://opencv.org/releases/

下载页面

我们需要选择对应版本的Sources(即源代码)下载。

在这里我们选择大版本3的最后一个版本(3.4.9)。

CMake

CMake下载页面:https://cmake.org/download/

选择Latest Release (3.16.4) -> Binary distributions -> Windows win64-x64 Installer。

用CMake编译OpenCV

首先将下载的源代码解压。

打开CMake并下载

打开CMake后,选定OpenCV源代码所在的路径和编译输出的路径。

CMake

初次输出时,会弹出下面的对话框。请按图所示,选择MinGW Makefiles,并默认default compiler即可。

CMake

先进行Configure,显示Configuring done确认无错误后,再进行Generate

一般需要重复多次,直至Entry列表中的条目都变为白色,并且无报错/显示“Generating done”。

读者遇到错误时,请参照output和log检查。

例如遇到“ffmpeg”之类文件的下载错误,请读者参考网上的下载方式自行下载,并在源码目录\opencv-3.4.9\.cache\ffmpeg下替换相应的文件:

文件

后续编译

在编译输出文件目录opencv_mingw_build下以命令行执行mingw32-make。(可能需要稍长的时间)

Cmder

如遇中断,再次执行mingw32-make即可。

完成后,再执行mingw32-make install

Cmder

之后将新增的\opencv_mingw_build\install\x64\mingw\bin的完整路径(如D:\Toolchain\opencv_mingw_build\install\x64\mingw\bin)添加到系统环境变量Path中。!!并重启!!

CLion配置

CMakeLists.txt的内容请参考:

cmake_minimum_required(VERSION 3.15)
project(Lab)

# Where to find CMake modules and OpenCV
set(OpenCV_DIR "D:\\Toolchain\\opencv_mingw_build\\install")
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/")

find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})

set(SOURCE_FILES main.cpp)
add_executable(Lab ${SOURCE_FILES})

# linking
target_link_libraries(Lab ${OpenCV_LIBS})

配置完成CMakeLists和Toolchain后,尝试下列代码(将Lena.jpg置于项目的根目录下):

#include "iostream"
#include <opencv2/opencv.hpp>

using namespace std;
using namespace cv;

int main() {
    Mat img = imread("../Lena.jpg");
    if (img.empty()) {
        cout << "Error" << endl;
        return -1;
    }
    imshow("Lena", img);
    waitKey();
    return 0;
}

成功运行:

运行结果