Opencv4基于C++基础入门笔记:OpenCV环境配置搭建
文章目录:
一:软件安装
二:配置环境(配置完之后重启一下软件)
1.配置电脑系统环境变量
vs2012及其以下
vs2014及其以上
2.配置VS软件环境变量
vs2012及其以下
vs2014及其以上
三:测试
vs2012及其以下
vs2014及其以上
推荐使用vs2014版本及其以上(因为可以避免减少一些报错):vs2015、vs2017....
一:软件安装
VS下载:博主提供连接直接下载 提取码: y9jc
内含有:vs2012 vs2015如果是使用openvc:推荐vs2014及其以上
OpenCV下载:OpenCV - Open Computer Vision Library官网、博主直接提供下载 提取码:1111
注意高低版本vs2012及其以下推荐:opencv-2.4及其以下版本vs2014及其以上推荐:opencv-4.5及其以上版本
二:配置环境(配置完之后重启一下软件)
1.配置电脑系统环境变量
vs2012及其以下
右击“计算机”->“属性”->“高级系统设置”->“环境变量”。此处要修改“用户变量”和“系统变量用户变量:3处OpencvD:\OpenCV\opencv\buildpathD:\OpenCV\opencv\build\x84\vc15\binD:\OpenCV\opencv\build\x84\vc15\lib系统变量:2处pathD:\OpenCV\opencv\build\x84\vc15\binD:\OpenCV\opencv\build\864\vc15\lib注意
vs2012及其以下低版本:此处需要选择x86因为编译环境默认的使用win32编译器,这里x86还是x64的选择跟你的系统是32位还是64位无关
vs2014及其以上
右击“计算机”->“属性”->“高级系统设置”->“环境变量”。此处要修改“用户变量”和“系统变量用户变量:3处OpencvD:\OpenCV\opencv\buildpathD:\OpenCV\opencv\build\x64\vc15\binD:\OpenCV\opencv\build\x64\vc15\lib系统变量:2处pathD:\OpenCV\opencv\build\x64\vc15\binD:\OpenCV\opencv\build\x64\vc15\lib
2.配置VS软件环境变量
vs2012及其以下
本地Windows调试器右边:Debug、Win32 (vs2012默认的)
1.打开VS——>选择新建项目,名称为TestOpenCV——>选择“空项目”——>完成——>源文件——>右键创建main.cpp文件2.打开“视图”->“属性管理器”/(其他窗口——>属性管理器),展开至Debug|Win322.1右击选择“添加新建项目属性表”,命名为OpenCV_Debug_Setting.props,双击打开此属性页2.2 在“通用属性”->“VC++目录”下,分别设置包含目录和库目录2.2.1 包含目录:C:\OpenCV\build\include\opencv2C:\OpenCV\build\include\opencvC:\OpenCV\build\include2.2.2 库目录:C:\OpenCV\build\x86\vc12\lib2.3 选择“通用属性”->“链接器”->“输入”->“附加依赖项”,在附加依赖项里添加库文件: C:\OpenCV\build\x86\vc12\lib添加路径下所有结尾含有“d”,且后缀名为“.lib”的文件:如opencv_calib3d2410d.lib等等
vs2014及其以上
本地Windows调试器左边:Release、x64(根据自己电脑来选)
1.打开VS——>选择新建项目,名称为TestOpenCV——>选择“空项目”——>完成——>源文件——>右键创建main.cpp文件2.打开“视图”->“属性管理器”/(其他窗口——>属性管理器),展开至Release|x642.1 Microsoft Cpp.x64.user鼠标右键点击属性/直接双击2.2 在“通用属性”->“VC++目录”下,分别设置包含目录和库目录2.2.1 包含目录:D:\OpenCV\opencv\build\include\opencv2D:\OpenCV\opencv\build\include2.2.2 库目录:D:\OpenCV\opencv\build\x64\vc15\lib2.3 选择“通用属性”->“链接器”->“输入”->“附加依赖项”,在附加依赖项里添加库文件: D:\OpenCV\opencv\build\x64\vc15\lib添加opencv_world460.lib
三:测试
打开main.cpp写入如下代码,看是否显示图片(图片路径和照片自定义)
vs2012及其以下
#include <iostream>#include <core\core.hpp> #include <highgui\highgui.hpp>using namespace cv; using namespace std;int main(){//读取图片Mat image = imread("F:\\images\\gril.jpg"); //路径自定义//判断图片是否读入成功if(!image.data){cout <<"图片显示失败!"<<endl;//等待按键system("pause");return -1;}//创建一个图像显示窗口namedWindow("女孩",1);//显示图像imshow("女孩",image);//等待按键waitKey();return 0; }
vs2014及其以上
#include<opencv2/opencv.hpp> #include<iostream>using namespace std; using namespace cv; int main() {Mat src = imread("F:/images/gril.jpg",IMREAD_GRAYSCALE);//读取进来的数据以矩阵的形势,第二个参数代表显示一张灰度图像。if (src.empty()) {printf("could not load image");//如果图片不存在 将无法读取,打印到终端。}//超过屏幕的图像无法显示时候调用此函数。namedWindow("输入窗口", WINDOW_FREERATIO);//创建了一个新窗口,参数1表示名称,第二个参数代表一个自由的比例imshow("输入窗口", src);//表示显示在新创建的输入窗口上,第一个参数表示窗口名称,src表示数据对象Mat waitKey(0);//执行到这句,程序阻塞。参数表示延时时间。单位msdestroyAllWindows();//销毁前面创建的显示窗口return 0; }
相关文章:
Opencv4基于C++基础入门笔记:OpenCV环境配置搭建
文章目录: 一:软件安装 二:配置环境(配置完之后重启一下软件) 1.配置电脑系统环境变量 vs2012及其以下 vs2014及其以上 2.配置VS软件环境变量 vs2012及其以下 vs2014及其以上 三:测试 vs2012及其…...
JS基础之实现map方法
提示:内容虽少,但是里面也有好几个知识点。 step 1:实现函数 function mapTmp (fn){if(!Array.isArray(this) || !this?.length) return [];const arr [];this.forEach((item, index) > {const newItem fn(item, index, this);arr.pu…...
FPGA应用学习笔记-----复位电路(二)和小结
不可复位触发器若和可复位触发器混合写的话,不可复位触发器是由可复位触发器馈电的。 不应该出现的复位,因为延时导致了冒险,异步复位存在静态冒险 附加素隐含项,利用数电方法,消除静态冒险 这样多时钟区域还是算异步的…...
信捷 XD PLC 16位整数转换为双精度浮点数
完成16位整数转换为双精度浮点数,信捷XD PLC需要两个指令,逐步转换,一个指令搞不定。 具体的: 第1步:int16->int32 第2步:int32->Double 例子,比如说将D0转换成浮点数放到D100~D103...
(二)结构型模式:1、适配器模式(Adapter Pattern)(C++实现示例)
目录 1、适配器模式(Adapter Pattern)含义 2、适配器模式应用场景 3、适配器模式的UML图学习 4、C实现适配器模式的示例 1、适配器模式(Adapter Pattern)含义 将一个接口转换为客户端所期待的接口,从而使两个接口…...
【编程二三事】ES究竟是个啥?
在最近的项目中,总是或多或少接触到了搜索的能力。而在这些项目之中,或多或少都离不开一个中间件 - ElasticSearch。 今天忙里偷闲,就来好好了解下这个中间件是用来干什么的。 ES是什么? ES全称ElasticSearch,是个基于Lucen…...
爬虫逆向实战(三)--天某云登录
一、数据接口分析 主页地址:天某云 1、抓包 通过抓包可以发现登录接口是account/login 2、判断是否有加密参数 请求参数是否加密? 通过“载荷”模块可以发现password、comParam_signature、comParam_seqCode是加密的 请求头是否加密? 无…...
不要过于迷恋软件架构,要重视如何设计根据简单和清晰的设计
1. 设计一个计算机系统的目标应该是简单性 。 系统越简单,理解起来就越简单,找到问题就越简单,实现它就越简单。描述的语言越清晰,设计就越容易理解。 干净的设计类似于干净的代码:它易于阅读且易于理解。 2. 如何编…...
Grafana监控 Redis Cluster
Grafana监控 Redis Cluster 主要是使用grafana来实现监控,grafana可以对接多种数据源,在官网中可以找到Redis数据源,需要安装redis data source插件。当然也可以利用Prometheus来做数据源,下面分别记录一下这两种数据源的安装配置…...
k8s 认证和权限控制
k8s 的认证机制是啥? 说到 k8s 的认证机制,其实之前咋那么也有提到过 ServiceAccouont ,以及相应的 token ,证书 crt,和基于 HTTP 的认证等等 k8s 会使用如上几种方式来获取客户端身份信息,不限于上面几种…...
性能优化的重要性
性能优化的重要性 性能优化的重要性摘要引言注意事项代码示例及注释性能优化的重要性 性能优化的重要性在 Java 中的体现响应速度资源利用效率扩展性与可维护性并发性能合理的锁策略线程安全的数据结构并发工具类的应用避免竞态条件和死锁 总结代码示例 博主 默语带您 Go to Ne…...
Leetcode No.53 Maximum Subarray
参考资料: 考点:子串 & 动态规划 & [题干] Input: nums [-2,1,-3,4,-1,2,1,-5,4] Output: 6 Explanation: The subarray [4,-1,2,1] has the largest sum 6.1. 心路历程 这道题非常经典,蕴含的思想也是精巧无比。 2. 正解 简单来说官…...
手机出现 不读卡 / 无信号时应该怎么办?
当手机屏幕亮起,一般在屏幕最上方都会有代表手机卡状态的显示,其中网络信号和读卡状态的标识,依旧有很多人分不太清,更不清楚改怎么办了。 1、当我们的手机里有两张卡时,则会有两个信号显示 2、信号状态一般是由短到…...
Linux 内核模块运行机制(10/11)
Linux 内核实现了一个比较酷的功能:支持模块的动态加载和运行。如果你实现了一个内核模块并打算运行它,你并不需要重启系统,直接使用 insmod 命令加载即可,这个模块就像补丁一样打进了 Linux 操作系统,并可以正常运行。…...
MySQL数据库-字符串函数详解
前言 MySQL数据库提供了多种不同类型的函数,用于处理字符串、日期、数值等数据类型,以及实现条件、聚合等操作,下面我们主要介绍字符串函数 CONCAT() 函数 CONCAT() 可用于将多个字符串连接在一起。 示例: SELECT CONCAT(Hell…...
半导体退火那些事(3)
4.半导体退火设备 双腔全自动兼容6-8寸快速退火炉RTP 产地:中国 型号: S803 特点: 室温到1250C,应用于SiC,GaN等第三代半导体领域 简介 (Description) S803系列自动快速退火炉,内置Robot可以自动取放片,适用于最大8英寸 (单片200m…...
1281. 整数的各位积和之差
诸神缄默不语-个人CSDN博文目录 力扣刷题笔记 文章目录 1. 简单粗暴的遍历2. 其实也是遍历,但是用Python内置函数只用写一行 1. 简单粗暴的遍历 Python版: class Solution:def subtractProductAndSum(self, n: int) -> int:he0ji1while n>1:last…...
如何使用Vue和C++实现OJ《从零开始打造 Online Judge》
课程简介 课程链接:https://www.lanqiao.cn/courses/20638 邀请码:x8pGd60V 本课程采用前后端分离架构,基于 Vue.js 和 C 技术,从零开始打造 Online Judge。 课程介绍 OJ 是 Online Judge 系统的简称,用来在线检测…...
在Spring Boot和Vue中实现请求过滤器以验证请求头中的Token
在Spring Boot应用程序中创建一个过滤器类,用于处理请求: Component public class AuthenticationFilter implements Filter {Overridepublic void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)throws IOException,…...
ThreeJS——在3D地球上标记中国地图板块
Threejs3D地球标记中国地图位置 先看效果 地球预览视频效果 用到的库 TweenJS (动画库)用来做相机转场的动画Jquery(这里只用到一个 each 循环方法,可以使用 js 去写)ThreeJS (3D 地球制作)100000.json(全国城市经纬度)d3.v6.js用来设置平面转3D效果(本来考虑做成…...
(二)TensorRT-LLM | 模型导出(v0.20.0rc3)
0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述,后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作,其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...
dedecms 织梦自定义表单留言增加ajax验证码功能
增加ajax功能模块,用户不点击提交按钮,只要输入框失去焦点,就会提前提示验证码是否正确。 一,模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...
el-switch文字内置
el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...
ETLCloud可能遇到的问题有哪些?常见坑位解析
数据集成平台ETLCloud,主要用于支持数据的抽取(Extract)、转换(Transform)和加载(Load)过程。提供了一个简洁直观的界面,以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...
现代密码学 | 椭圆曲线密码学—附py代码
Elliptic Curve Cryptography 椭圆曲线密码学(ECC)是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础,例如椭圆曲线数字签…...
IT供电系统绝缘监测及故障定位解决方案
随着新能源的快速发展,光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域,IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选,但在长期运行中,例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...
UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)
UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中,UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化…...
AI书签管理工具开发全记录(十九):嵌入资源处理
1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...
基于IDIG-GAN的小样本电机轴承故障诊断
目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) 梯度归一化(Gradient Normalization) (2) 判别器梯度间隙正则化(Discriminator Gradient Gap Regularization) (3) 自注意力机制(Self-Attention) 3. 完整损失函数 二…...
接口自动化测试:HttpRunner基础
相关文档 HttpRunner V3.x中文文档 HttpRunner 用户指南 使用HttpRunner 3.x实现接口自动化测试 HttpRunner介绍 HttpRunner 是一个开源的 API 测试工具,支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议,涵盖接口测试、性能测试、数字体验监测等测试类型…...
