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效果(本来考虑做成…...

第2章 性能测量
理解应用程序性能的第一步是学会对它进行测量。 与绝大多数功能问题相比,性能问题通常很难跟踪和复现。 任何关注过性能评估的人可能都知道公允地进行性能测量并从中得到准确结论是多么困难。 因为在测量中存在误差,性能分析通常需要统计方法进行处理…...

未来,运营的重要性大于产品?
微博上看到某产品大V的一个观点,说在未来,产品运营的重要性会大过产品经理,还挺认同的,谈谈我的想法。 这个观点的核心依据是,目前没有新的产品形态,各种产品解决方案都是标准化的,产品由开疆辟…...

paddle ocr框架识别数字问题和解决方案
识别出的字符串重复 情况1:检测错误,同一个字符串被两次检测到 比如 “12 方案 ” 被识别成:“12” “2方案”,这种可以通过x坐标交叉并且第一个结果最后一个字符与第二个结果第一个字符相同判断 情况2: 识别错误&am…...

构建高性能的MongoDB数据迁移工具:Java的开发实践
随着大数据时代的到来,数据迁移成为许多企业和组织必须面对的挑战之一。作为一种非关系型数据库,MongoDB在应用开发中得到了广泛的应用。为了满足数据迁移的需求,我们需要一个高性能、稳定可靠的MongoDB数据迁移工具。下面将分享使用Java开发…...

2023年国赛数学建模思路 - 案例:最短时间生产计划安排
文章目录 0 赛题思路1 模型描述2 实例2.1 问题描述2.2 数学模型2.2.1 模型流程2.2.2 符号约定2.2.3 求解模型 2.3 相关代码2.4 模型求解结果 建模资料 0 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 最短时…...

1572. 矩阵对角线元素的和
题目描述: 给你一个正方形矩阵 mat,请你返回矩阵对角线元素的和。 请你返回在矩阵主对角线上的元素和副对角线上且不在主对角线上元素的和。 示例: 解题思路: 同时求对角线和副对角线上元素的和再减去重合的元素 相关代码…...

在vue中使用swiper轮播图(搭配watch和$nextTick())
在组件中使用轮播图展示图片信息: 1.下载swiper,5版本为稳定版本 cnpm install swiper5 2.在组件中引入swiper包和对应样式,若多组件使用swiper,可以把swiper引入到main.js入口文件中: import swiper/css/swiper.css //引入swipe…...

Java书签 #使用MyBatis接入多数据源
楔子:当然,世上有很多优秀的女性,我也会被她们吸引。这对男人来说是理所当然的。但目光被吸引和内心被吸引是截然不同的。- 东野圭吾《黎明之街》 今日书签 在一些应用场景中,可能需要连接多个不同的数据库,例如连接不…...

神经网络基础-神经网络补充概念-23-神经网络的梯度下降法
概念 神经网络的梯度下降法是训练神经网络的核心优化算法之一。它通过调整神经网络的权重和偏差,以最小化损失函数,从而使神经网络能够逐渐逼近目标函数的最优值。 步骤 1损失函数(Loss Function): 首先,…...

鸿蒙3.1 设备管理DeviceManager
介绍 DeviceManager组件在OpenHarmony上提供账号无关的分布式设备的认证组网能力,并为开发者提供了一套用于分布式设备间监听、发现和认证的接口。 其组成及依赖如下所示: 总结 设备管理模块其实就是软总线的包皮服务。目前权限都是控制系统uid,但是根据官方介绍,后续可…...