CLion 中使用 C++ 版本的 OpenCV

配置环境:

  • Windows 10
  • CLion 2020
  • OpenCV 3.4.1
  • MinGW-w64

1. 下载 CLion 并配置好 MinGW

CLion 下载地址:https://www.jetbrains.com/clion
MinGW 安装包下载地址:链接:https://pan.baidu.com/s/1c00uHbcf_jGeDDrVg99jtA 提取码:at0p

运行 MinGW 安装包并完成安装,之后我们打开 CLion 进行编译器配置:

在这里插入图片描述
在这里插入图片描述
这里我已经配置好了环境了,如果没有配置过,只需要点击上面的 “+”,然后在 Environment 那里选择你MinGW安装的位置,剩下的 C 和 C++ 编译器通常都会自动检测出来的,点击右下角的 Apply 应用,这样我们就配置好 MinGW 编译器了。

2. 配置 OpenCV

配置 openCV 需要先下载源码,通过 Cmake 编译之后才能够使用,这里我将源码和编译好的文件都放出来:
openCV 源码:链接:https://pan.baidu.com/s/1M0UV9ht6UVGRJYtFMUmvaA 提取码:tpqg
编译好的 MinGW 版本的文件:链接:https://pan.baidu.com/s/184CQgR2gLixtVfhHvOeFyQ 提取码:45c1

(1)源码编译
(如果你下载的是我编译好的文件可以直接跳过这一步,跳到(2))
在使用源码编译的时候,我们需要打开cmake-gui,选择下载的源码文件夹,将 source 和 build 目录选择如下:
在这里插入图片描述
需要注意的是,一定要在菜单中往下拉找到 “CPU_DISPATCH” 一栏,把后面选择为空的参数,不然后面编译的时候可能会报错:
在这里插入图片描述
然后点击 ”Configure“,在弹出的对话框中选择编译类型,这里我们下拉选择 - MinGW MakeFiles,然后开始 Configure,等待完成后我们再点击左下角的 Generate 等待完成,完成后目录下应该会多一个 mingw-build 的文件夹:

在这里插入图片描述
进入到这个文件夹中,打开cmd,输入 mingw32-make,然后耐心等待程序完成。
在这里插入图片描述
如果你是下载的我编译好的那个文件的话,解压出来就是这个 mingw-build 的文件夹,并且已经执行过mingw32-make命令了,就不用自己去cmake一次了。

接下来我们只需要在CLion里面配置后就可以进行OpenCV调用了,

(2)CLion 配置

在 CLion 中建立一个新项目,并修改 CMakeLists :
在这里插入图片描述
主要需要添加的是下面几行代码:

set(OpenCV_DIR "C:\\openCV\\opencv\\mingw-build")	# 这里填写你存放的 mingw-build 的文件夹目录
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/")

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

set(OpenCV_LIBS opencv_core opencv_imgproc opencv_highgui opencv_imgcodecs)
target_link_libraries(testOpenCV ${OpenCV_LIBS})	# 链接 OpenCV 库,把 testOpenCV改成你自己项目的名字

编写代码测试能否成功调用 openCV 库:

#include "opencv2/opencv.hpp"
#include <iostream>
#include <vector>
using namespace std;
using namespace cv;

int main(){
    VideoCapture capture(0);

    while(true){
        Mat frame;
        capture >> frame;

        imshow("video", frame);
        int key = cvWaitKey(10);
        if (key == 27)
            break;
    }
}

运行结果如下图所示:
在这里插入图片描述

发布了10 篇原创文章 · 获赞 3 · 访问量 985

猜你喜欢

转载自blog.csdn.net/qq_38638132/article/details/105598343