一、前言
在windows10上尝试了好几种方案,如:VS+CMake+opencv、sublineText+CMake+opencv、CLion+OpenCv+CMake。最终选择使用CLion+OpenCv+CMake,因为我是偏java系列的所以vs用着不熟,又因为subline和eclipse的提示效果不好。所以最终选择了第三种方案。下面就说说搭建的具体步骤。
二、开发环境搭建
准备工作:
1.下载CMake并安装。
下载路径:https://cmake.org/download/
2.下载OpenCV最新的Release安装包并安装,此处我使用的4.5.2版本的。
下载路径:https://opencv.org/releases/
3.安装CLion。ps:下载路径省略,网上一搜一大把
开始配置环境
1.打开CMake的GUI,然后分别选择OpenCv的源代码路径以及Camke后的输出路径。
2.点击Configure按钮进行第一次配置,ps:中间会有ffmpeg下载不下来,这个如果用不到就不用管,直接进行第二次配置。如果能用到百度一下自行解决。
3.点击Configure进行第二次配置
4.到此配置就结束了。接下来开始make和install
5.进入输出目录mbuild,打开cmd并切换到build目录,执行mingw32-make -j8 耐心等待一会儿就编译好了。
6.接着执行mingw32-make install 生成我们想要的库。会在mbuild目录下生成对应的文件和文件夹,如下所示:
7.在环境变量的path路径下将:D:xxxxxx oolopencv4.5.2mbuildinstallx64mingwin这个目录配置进去
8.配置CMake
#指定CMake的最小版本 cmake_minimum_required (VERSION 3.8) #定义项目名称 project ("computervision") # 添加c++ 11标准支持 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") include_directories($ENV{CMAKE_INCLUDE_PATH}) set(OpenCV_DIR D:/你自己的lib路径/tool/opencv4.5.2/mbuild/install/x64/mingw/lib) #需要的openCV库 FIND_PACKAGE(OpenCV REQUIRED) #显示OpenCV的版本号 MESSAGE("OpenCV versiion : ${OpenCV_VERSION}") MESSAGE("OpenCV include : ${OpenCV_INCLUDE_DIRS}") MESSAGE("OpenCV libs11 : ${OpenCV_LIBS}") MESSAGE("OpenCV DIR : ${OpenCV_DIR}") include_directories(${OpenCV_INCLUDE_DIRS}) link_directories(${OpenCV_LIBS}) MESSAGE("OpenCV libs : ${OpenCV_LIBS}") set(SOURCE main.cpp) # 将源代码添加到此项目的可执行文件。 add_executable (${PROJECT_NAME} ${SOURCE}) TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${OpenCV_LIBS})
9.测试样例:
#include <iostream> #include <opencv2/core/core.hpp> #include <opencv2/imgcodecs/imgcodecs.hpp> #include <opencv2/highgui/highgui.hpp> using namespace cv; using namespace std; int main() { std::cout << "Hello, World!" << std::endl; cout << CV_VERSION <<endl; Mat mat = imread("C:\xxxx\xxx\Downloads\girl.jpg"); if(mat.empty()){ cout << "图片不存在" <<endl; return -1; } imshow("展示图像",mat); waitKey(0); return 0; }
10.运行的图片