window上Clion配置C++版本的opencv
window上Clion配置opencv
注意版本一定要对的上,否则可能会出错,亲测
- widnows 11
- mingw 8.1.0
- opencv 4.5.5
mingw8.1下载地址https://sourceforge.net/projects/mingw/
配置环境变量
cmake下载
安装完添加环境变量
来到官网,下载 windows
对应的版本,现在最新的版本是 4.5.
我这里安装4.5.5的
下载完成后解压
opencv
默认只提供了 msvc
编译的版本,在 build
目录下,源码文件在 sources
。因此接下来,我们需要使用 mingw
来编译 opencv
,首先在 opencv
的解压目录下新建一个文件夹 mingw_build
,用来存放编译生成的文件
然后打开 cmake-gui.exe
,在 Where is the source code:
选择 opencv
下的 sources
文件夹,而 Where to build the binaries:
选择前面创建好的 mingw_build
文件夹
然后点击 Configure
,在 Specify the generator for this project
中选择 MinGW Makefiles
Configure完成后,再点击
Generate
Generate
完成后,我们进入到 mingw_build
文件夹,打开终端工具,执行命令 mingw32-make.exe
开始编译
编译成功
然后执行安装,mingw32-make.exe install
可能会报错
CMake Error at modules/python3/cmake_install.cmake:49 (file): file cannot create directory: E:/exe/anaconda3/Lib/site-packages/cv2. Maybe need administrative privileges. Call Stack (most recent call first): cmake_install.cmake:158 (include) mingw32-make: *** [Makefile:129: install] Error 1
这是没有权限,这个时候你需要在以管理员身份打开cmd,然后cd到mingw_build文件夹下再执行mingw32-make.exe install
可以看到,相关的文件都被拷贝到了 mingw_build\install
目录下,然后将目录E:\opencv\opencv\mingw_build\install\x64\mingw\bin加入到系统环境变量中,这个就不用我多说了,系统环境变量怎么设置看我这篇文章https://blog.csdn.net/Johnor/article/details/134353311?spm=1001.2014.3001.5502
打开 clion
,新建一个项目
打开设置中的工具链
默认情况下,clion
中只能使用 Debug
模式下运行程序,因此,我们来增加 Release
模式。
接下来,修改下 CMakeLists.txt
,内容如下
注意设置opencv的目录,这样项目的寻找头文件的根目录就是E:\\opencv\\opencv\\mingw_build\\install
cmake_minimum_required(VERSION 3.21)
project(OpenCVDemo)set(CMAKE_CXX_STANDARD 11)set(OpenCV_DIR "E:\\opencv\\opencv\\mingw_build\\install")
find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})
add_executable(OpenCVDemo main.cpp)
target_link_libraries(OpenCVDemo ${OpenCV_LIBS})
记得修改完一定要点击,右边的加载CMake更改
记得修改完一定要点击,右边的加载CMake更改
记得修改完一定要点击,右边的加载CMake更改
然后就是代码
#include <iostream>
#include <opencv2/opencv.hpp>using namespace std;
using namespace cv;int main() {//std::cout << "当前工作目录: " << std::filesystem::current_path() << std::endl;Mat srcImage = imread("..//images//img.png");if (!srcImage.data) {std::cout << "Image not loaded";return -1;}imshow("image", srcImage);waitKey(0);return 0;
}
注意图像的相对位置,opencv项目的位置是与相关的exe文件同目录的,这个OpenCVDemo.exe才是项目的根目录,至于为什么和python版本的opencv不一样,是因为C++是编译型语言,与python这种解释型语言不同
所以需要使用…退出cmake_build_debug目录,才能找到images下面的img.png
运行结果
相关文章:

window上Clion配置C++版本的opencv
window上Clion配置opencv 注意版本一定要对的上,否则可能会出错,亲测 widnows 11mingw 8.1.0opencv 4.5.5 mingw8.1下载地址https://sourceforge.net/projects/mingw/ 配置环境变量 cmake下载 安装完添加环境变量 来到官网,下载 windows 对…...
FPGA时序分析与约束(14)——虚拟路径
一、概述 到目前为止,我们已经看到了如何约束时钟和端口来指定设计中的时序要求,我们可以通过这些基础的约束命令来进行时序约束,但是时序分析工具默认的时序检查方式可能和我们实际工程实现的情况不同,通常来说是约束过紧&#x…...

【Python】解析CPP类定义代码,获取UML类图信息
参考 & 鸣谢 CppHeaderParser - 官方文档Python解析C头文件win10直接获得文件绝对路径的方法总结 目的 解析CPP头文件中的类定义,获取UML中的属性。用于画UML类图。如下所示格式,图片来源-链接 即获取,类名,成员函数&#x…...
Docker存储驱动之- overlay2
docker支持多种graphDriver,包括vfs、devicemapper、overlay、overlay2、aufs等等,其中最常用的就是aufs了,但随着linux内核3.18把overlay纳入其中,overlay的地位变得更重,最近也在自己的虚拟机上用overlay2作为docker…...

Vue3 shallowRef 和 shallowReactive
一、shallowRef 使用shallowRef之前需要进行引入: import { shallowRef } from vue; 使用方法和ref 的使用方法一致,以下是二者的区别: 1. 如果ref 和 shallowRef 都传入的是普通数据类型的数据,那么他们的效果是一样的&#x…...

Python数据分析实战① Python实现数据可视化
文章目录 一、数据可视化介绍二、matplotlib和pandas画图1.matplotlib简介和简单使用2.matplotlib常见作图类型3.使用pandas画图4.pandas中绘图与matplotlib结合使用 三、订单数据分析展示四、Titanic灾难数据分析显示 一、数据可视化介绍 数据可视化是指将数据放在可视环境中…...
ASP.NET 开发几个知识点
1、 皮肤设定: 项目右键,建立皮肤 app_themes 文件夹,右键 建立 web from 皮肤文件, 设定皮肤样式。全局使用皮肤 web.config 增加 <pages styleSheetTheme"Skin1" /> ,或在 具体页面 头 增加 sty…...

企业微信H5开发遇到的坑
企业微信官方推荐wx.agentConfig引用<script src"https://open.work.weixin.qq.com/wwopen/js/jwxwork-1.0.0.js"></script>是没有效果的 必须引用以下代码才有效果,这也是我看了社区的回答才有所收获,是一个坑 且VUE引用在线的…...
mysql使用--分组查询
1.分组数据 _1.复杂的数据统计 如:SELECT AVG(score) FROM student_score WHERE subject ‘Mysql是怎样运行的’; 上述实现查询指定课程的平均成绩。对FROM得到的结果集1,通过WHER进一步过滤得到结果集2。对结果集2中每一行执行汇总计算。 _2.创建分组 …...
Android网络模块基本实现步骤
Android网络模块主要是用于访问网络和获取数据,下面是网络模块的基本实现步骤: 选择网络框架:Android中常用的网络框架有HttpURLConnection、OkHttp、Volley和Retrofit等。最新的版本已经支持使用Kotlin协程完成网络请求,可以根据…...
Rust6.2 An I/O Project: Building a Command Line Program (mini_grep)
Rust学习笔记 Rust编程语言入门教程课程笔记 参考教材: The Rust Programming Language (by Steve Klabnik and Carol Nichols, with contributions from the Rust Community) Lecture 12: An I/O Project: Building a Command Line Program project: minigrep src/main.r…...
云轴科技ZStack信创云平台支撑长江航务管理局35套航运管理系统
信创是数字中国建设的重要组成部分,也是数字经济发展的关键推动力量。作为云基础软件企业,云轴科技ZStack产品矩阵全面覆盖数据中心云基础设施,ZStack信创云首批通过可信云《一云多芯IaaS平台能力要求》先进级,是其中唯一兼容四种…...

Canal+Kafka实现MySQL与Redis数据同步(一)
CanalKafka实现MySQL与Redis数据同步(一) 前言 在很多业务情况下,我们都会在系统中加入redis缓存做查询优化。 如果数据库数据发生更新,这时候就需要在业务代码中写一段同步更新redis的代码。 这种数据同步的代码跟业务代码糅合…...
集合的运算
集合的运算 #include <stdio.h> #include <stdlib.h> void print(int size, char arr[]) {if (size 0) {printf("null");}for (int i 0; i < size; i) {printf("%c", arr[i]);}printf("\n"); } int main() {char U[] { a,b,c,…...
在MySQL上实现间隔5分钟汇总取数及相关字符串、时间处理方法实践
1. 实践案例需求描述 查询mysql数据库,按每5分钟分组获取3个小时内的电量数据,参考SQL语句如下。 select sd.RecordTime RecordTime, sd.sddl sddl,sd.pvdl ,cap.capdl capdl from ((SELECT CONCAT(DATE_FORMAT(RecordTime,%Y-%m-%d %H:), LPAD(floor(…...
什么是AIGC
1 定义 "AIGC"代表“人工智能生成内容”(Artificial Intelligence Generated Content),它指的是使用人工智能(AI)技术自动生成的内容,这些内容可以包括文本、图像、音乐、视频或其他多媒体形式。…...

〖大前端 - 基础入门三大核心之JS篇㊳〗- DOM访问元素节点
说明:该文属于 大前端全栈架构白宝书专栏,目前阶段免费,如需要项目实战或者是体系化资源,文末名片加V!作者:不渴望力量的哈士奇(哈哥),十余年工作经验, 从事过全栈研发、产品经理等工作…...

GitHub Universe 2023:AI 技术引领软件开发创新浪潮
GitHub 是全球领先的软件开发和协作平台,数百万开发者和企业在此分享、学习和创建卓越的软件。同时 GitHub 处在 AI 技术前沿,通过其先进的 AI 技术增强开发者体验并赋能未来软件开发的使命。在今天的文章中,我们将一起看看在 GitHub 年度大会…...

数据结构:红黑树的插入实现(C++)
个人主页 : 个人主页 个人专栏 : 《数据结构》 《C语言》《C》《Linux》 文章目录 一、红黑树二、红黑树的插入三、代码实现总结 一、红黑树 红黑树的概念: 红黑树是一颗二叉搜索树,但在每个节点上增加一个存储位表示节点的颜色&…...

飞天使-django之数据库简介
文章目录 增删改查解决数据库不能存储中文问题创建表数据类型表的基本操作主键唯一键 unique外键实战 增删改查 四个常用的语句查询 : insert delete update select insert into student(Sno,name) values(95001,"张三") delete from student where name张三 upda…...

龙虎榜——20250610
上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...
Java 语言特性(面试系列2)
一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...
uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖
在前面的练习中,每个页面需要使用ref,onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入,需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...
基于Uniapp开发HarmonyOS 5.0旅游应用技术实践
一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来…...

高危文件识别的常用算法:原理、应用与企业场景
高危文件识别的常用算法:原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件,如包含恶意代码、敏感数据或欺诈内容的文档,在企业协同办公环境中(如Teams、Google Workspace)尤为重要。结合大模型技术&…...

DBAPI如何优雅的获取单条数据
API如何优雅的获取单条数据 案例一 对于查询类API,查询的是单条数据,比如根据主键ID查询用户信息,sql如下: select id, name, age from user where id #{id}API默认返回的数据格式是多条的,如下: {&qu…...
爬虫基础学习day2
# 爬虫设计领域 工商:企查查、天眼查短视频:抖音、快手、西瓜 ---> 飞瓜电商:京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空:抓取所有航空公司价格 ---> 去哪儿自媒体:采集自媒体数据进…...
管理学院权限管理系统开发总结
文章目录 🎓 管理学院权限管理系统开发总结 - 现代化Web应用实践之路📝 项目概述🏗️ 技术架构设计后端技术栈前端技术栈 💡 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 🗄️ 数据库设…...

视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)
前言: 最近在做行为检测相关的模型,用的是时空图卷积网络(STGCN),但原有kinetic-400数据集数据质量较低,需要进行细粒度的标注,同时粗略搜了下已有开源工具基本都集中于图像分割这块,…...
Mysql8 忘记密码重置,以及问题解决
1.使用免密登录 找到配置MySQL文件,我的文件路径是/etc/mysql/my.cnf,有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...