Clion配置openCV开发环境(Clion+MinGW+CMake+openCV)

news2025/1/18 4:42:14

所需资源

  • 系统 win11(X64)
  • MinGW-W64 GCC-8.1.0 x86_64-8.1.0-release-posix-seh.7z
    MinGW作用是opencv需要用到支持多线程(posix版本)的C++编译环境。
  • Clion-2022.3.1.exe
  • CMake-3.25.1-windows-x86_64.msi
  • openCV4.6.0

安装步骤

  1. 解压ming.7z,安装Clion、CMake.msi、openCV

  2. 将图示安装目标文件夹路径添加到系统环境变量Path中
    在这里插入图片描述

  3. 命令行输入gcc --version检查MinGW是否安装成功
    在这里插入图片描述

  4. 下载好的openCV存放安装路径如下
    在这里插入图片描述
    新建一个mingw_build文件夹,预备放编译后的openCV

  5. CMake编译

    打开CMake-gui,将source code和binaries路径设置如图所示
    在这里插入图片描述

  6. 点击configure,成功结束后点击generate,生成makefile文件。

  7. 在mingw_bulid文件夹下进入命令行终端,运行以下命令

mingw32-make -j4

利用mingw进行编译。-j4代表使用四个线程加速编译。可根据自己电脑配置合理选择。 编译时间较长,大约十几分钟左右。
结束之后,运行以下命令

mingw32-make install

结束配置环境变量,将{opencv_homedir}/opencv/MinGW-build/install/x64/mingw/bin加入环境变量中的path中。
在这里插入图片描述

Clion工程配置

  1. 新建项目。选择C++ executable,选择MinGW安装目录
    或进入项目后点击File->Build,Execution,Deployment->Toolchains
    将MinGW中Build Tool、C compiler、C++ Compiler设置如图在这里插入图片描述

演示项目

CMakeList.txt

cmake_minimum_required(VERSION 3.24)
project(obj1)

set(CMAKE_CXX_STANDARD 17)
set(OpenCV_DIR D:\\CodeSoftware\\openCV\\opencv\\mingw_bulid\\install)
find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})
add_executable(obj1 main.cpp)
target_link_libraries(obj1 ${OpenCV_LIBS})

obj1是自己的项目名

main.cpp

#include <iostream>
#include<opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main() {
    Mat img = imread("E:/1.jpg");
    if (img.empty()) {
        cout << "Error" << endl;
        return -1;
    }
    imshow("Lena", img);
    waitKey();
    return 0;
}

参考

https://www.cnblogs.com/ericling/p/15586751.html
https://blog.csdn.net/weixin_44150421/article/details/127861128

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/161909.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

node.js全栈项目

一、项目介绍本项目适合作为一个课程设计或者毕业设计&#xff0c;最终实现了一个完整的博客系统&#xff0c;包括用户的登录、注册&#xff0c;图片上传&#xff0c;文章的发布、富文本编辑器、删除、编辑、修改、列表展示&#xff0c;评论的发布、删除、列表展示&#xff0c;…

K2P padavan固件下宽带与IPTV融合

一、我的需求 坐标江苏小城&#xff0c;原来手机用的99的套餐&#xff0c;可以免费带一个副卡&#xff0c;现在升级了电信129的5G融合套餐&#xff0c;送了一个iTV&#xff08;一个月10元&#xff09;&#xff0c;但是副卡收费10元&#xff0c;哎&#xff0c;算来算去都没有运营…

【软考】系统集成项目管理工程师(十三)项目干系人管理

一、项目干系人管理基础二、干系人管理子过程1. 识别干系人2. 规划干系人管理3. 管理干系人4. 控制干系人参与一、项目干系人管理基础 项目干系人管理是指对项目干系人需求、希望和期望的识别,并通过沟通上的管理来满足 其需要、解决其问题的过程。 每个项目都有干系人,他们…

雅思经验(3)

听力技巧&#xff1a;section 1错1,section 2错2,section 3错5,section 4错5,共错13题,才擦边达到6.5分。听力的关键点在于2和4&#xff0c;因为1和3的场景基本可以固定下来。剑9的section3那个Soiros同学真的很可怕&#xff0c;印度人&#xff0c;口音真的非常重&#xff0c;但…

LVGL基础部件学习笔记

目录 1、基础对象基本属性用法&#xff08;所有部件都可以用&#xff09; 1.1、基础对象的大小(Size) 1.2、基础对象的位置(Position) 1.3、基础对象对齐(Alignment) 1. 4、基础对象的盒子模型(border-box) 1.5、基础对象的样式(styles) 1.6、基础对象的事件(events) 2…

小偷与守望者.math库.动态规划.贪心.C

1.分别讨论0或1;边界 2.写出递推方程;最优子结构、状态转移方程、重叠子问题 int rob(int* arr, int size){ int dp[size];int result; if(size0)return 0; if(size1)return arr[0]; else{ dp[0]arr[0]; dp[1]arr[1] > arr[0] ? arr[1]:arr[0]; for (int i 2; i < siz…

php学习笔记-连接操作mysq数据库(基础)-day08

php学习笔记-连接操作mysq数据库-day08php中常用的mysql操作函数1.连接mysql服务器mysqli_connect()2.设置数据库字符集 和 发送sqlmysqli_query() 函数 可以用来设置数据库字符集。3.关闭mysql服务器连接mysqli_close();4.选择要操作的数据库mysqli_select_db()5.结果集释放my…

C#大型在线学习平台源码(PC端+手机端)

本套源码目录结构清晰、代码层次分明、文档齐全。源码分享&#xff01;需要源码学习可私信我获取。 系统简介 中小学教育平台是一个集学、练、考于一体的在线教育平台&#xff0c;可以帮助中小学教育机构建设网络课堂&#xff0c;用于同步课程、专题课堂、兴趣课堂等网络教育的…

当用户输入一堆这样的字符串到 Elasticsearch ?

1、问题引出如下样例数据已导入 Elasticsearch&#xff0c;如何实现特定字段检索&#xff1f;并计算出特定子字段的长度&#xff1f;"message": "[策略排序]排序后结果:[{\"intentItems\":[\"200001\"],\"level\":1,\"modul…

2021帆软杯一等奖 | 《游乐园综合管理系统》

# 作品主题——游乐园综合管理系统 #作品简介&#xff1a;该获奖作品来自零代码开发赛道。针对一些个人经营、没有统一规范的游乐园&#xff0c;希望通过创建一个简单、高效的系统应用&#xff0c;管理人员能够通过对表单的简单操作就能管理游乐园&#xff0c;如获取工作人员信…

程序分析-动态程序切片

最近在调研符号执行工具优化方式时&#xff0c;发现好几篇工作都用到了动态程序切片&#xff0c;以前大部分接触的都是静态切片&#xff0c;对动态切片几乎不了解。所以开始学习动态切片&#xff0c;我主要参考的是90年的一篇上古paper。 1.静态依赖图和静态切片 说到程序切片…

Obsidian Templater 批量新建笔记

Obsidian Templater 批量新建笔记 背景 工作中的新项目都有这么几个固定的笔记&#xff0c;比如项目背景、原理图设计、PCB设计、调试等&#xff0c;每个笔记文件又有一些固定的内容&#xff0c;想着在开始一个新项目时&#xff0c;一次性把这些笔记都建好&#xff0c;并且统…

一文教会你 如何在Github中创建仓库?如何将多个项目放到一个仓库中管理?如何将本地项目上传到GitHub中?

文章目录前言1、如何在GitHub中创建仓库1.1 点击New repository1.2 填写仓库的基本信息1.3 完成创建2 、克隆仓库地址到本地2.1 克隆地址2.2 克隆到本地2.3 将后端代码项目提交到远程服务器2.4 将前端代码项目提交到远程服务器3、Github上查看自己上传项目代码4、使用这个方式存…

【程序分析】Code Lifting

我理解&#xff0c;Code Lifting和反编译的概念类似 常规的编译过程是这样的&#xff1a; 这是一个从高级形式到低级形式的过程&#xff0c;一般叫做 lowering 而反编译&#xff0c;是这样一个过程&#xff1a; 这个过程是完全相反的&#xff0c;叫做lifting 需要注意 Bi…

FPGA:逻辑函数的卡诺图化简法

文章目录最小项与最小项表达式最小项的定义最小项的性质逻辑函数的最小项表达式卡诺图化简法用卡诺图表示逻辑函数卡诺图的引出两变量卡诺图三变量卡诺图四变量卡诺图已知逻辑函数真值表&#xff0c;画卡诺图已知逻辑函数画卡诺图用卡诺图化简逻辑函数化简的依据化简的步骤用卡…

Hexo + Butterfly 侧边栏公众号

原文链接 &#xff1a;Hexo Butterfly 侧边栏公众号 推荐阅读 基于 Hexo 从零开始搭建个人博客&#xff08;一&#xff09;: 环境准备基于 Hexo 从零开始搭建个人博客&#xff08;二&#xff09;: 项目初识基于 Hexo 从零开始搭建个人博客&#xff08;三&#xff09;: 主题安…

Lichee_RV学习系列--stream移植

Lichee_RV学习系列文章目录 Lichee_RV学习系列—认识Lichee Rv Dock、环境搭建和编译第一个程序 Lichee_RV学习系列—移植dhrystone 文章目录Lichee_RV学习系列文章目录一、stream简介二、源码下载三、文件移植1、makefile文件编译makefile文件移植四、运行结果五、移植过程中…

【尚硅谷】Java数据结构与算法笔记08 - 查找算法

文章目录一、查找算法介绍二、线性查找算法三、二分查找算法3.1 思路分析3.2 代码实现四、插值查找算法4.1 思路分析4.2 代码实现4.3 注意事项五、斐波那契&#xff08;黄金分割法&#xff09;查找算法5.1 思路分析5.2 原理讲解5.3 代码实现一、查找算法介绍 在 java 中, 我们…

C++多线程入门及基础知识

什么是C多线程 线程即操作系统进行CPU任务调度的最小单位。C的多线程并发&#xff0c;简单理解的话就是&#xff0c;将任务的不同功能交由多个函数实现&#xff0c;创建多个线程&#xff0c;每个线程执行一个函数&#xff0c;一个任务就同时由不同线程执行。 什么时候使用多…

微信小程序:骨架屏的实现方法

骨架屏是为了展示一个页面骨架而不含有实际的页面内容&#xff0c;从渲染效率上来讲&#xff0c;骨架屏它并不能使首屏渲染加快。由于骨架屏的一些使用又向用户渲染了额外的一些内容&#xff0c;这些内容是额外添加的、本来是不需要渲染的&#xff0c;它反而从整体上加长了首屏…