随笔 - 632  文章 - 17  评论 - 54  阅读 - 93万

Windows10+CLion+OpenCV4.5.2开发环境搭建

一、前言

  在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:\xxx\xxx\tool\opencv4.5.2\mbuild\install\x64\mingw\bin这个目录配置进去

  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.运行的图片

  

 

 

 

posted on   飘杨......  阅读(1668)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
历史上的今天:
2020-06-01 Android 通用的TabLayout组件
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示