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效果(本来考虑做成…...
golang循环变量捕获问题
在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - 循环变量捕获问题。让我详细解释一下: 问题背景 看这个代码片段: fo…...
连锁超市冷库节能解决方案:如何实现超市降本增效
在连锁超市冷库运营中,高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术,实现年省电费15%-60%,且不改动原有装备、安装快捷、…...
基于数字孪生的水厂可视化平台建设:架构与实践
分享大纲: 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年,数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段,基于数字孪生的水厂可视化平台的…...

Psychopy音频的使用
Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...
linux 下常用变更-8
1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行,YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID: YW3…...

WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成
厌倦手动写WordPress文章?AI自动生成,效率提升10倍! 支持多语言、自动配图、定时发布,让内容创作更轻松! AI内容生成 → 不想每天写文章?AI一键生成高质量内容!多语言支持 → 跨境电商必备&am…...
Swagger和OpenApi的前世今生
Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章,二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑: 🔄 一、起源与初创期:Swagger的诞生(2010-2014) 核心…...
【Java学习笔记】BigInteger 和 BigDecimal 类
BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...

让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比
在机器学习的回归分析中,损失函数的选择对模型性能具有决定性影响。均方误差(MSE)作为经典的损失函数,在处理干净数据时表现优异,但在面对包含异常值的噪声数据时,其对大误差的二次惩罚机制往往导致模型参数…...

算法岗面试经验分享-大模型篇
文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer (1)资源 论文&a…...