当前位置: 首页 > news >正文

win10 + VS2022 安装opencv C++

最近需要用到C++ opencv,看了很多帖子都需要自己编译opencv源码。为避免源码编译,可以使用VS来配置opencv C++。下面是主要过程:

目录

1. 从官网下载 opencv - Get Started - OpenCV

 2. 点击这个exe文件进行安装

3. 配置环境变量

4. VS中的项目配置

4.1 打开VS,创建一个console 项目

4.2 在属性管理器中右键 进行属性配置(如果看不到属性管理器,可以从 视图--> 其他窗口 --> 属性管理器,这样可以调出属性管理器)

 4.3 头文件、库文件、链接器的配置

5. OK,运行自己一个小程序试试吧


1. 从官网下载 opencv - Get Started - OpenCV

现在opencv做的很友好了,可以选择不从源码编译的exe包

 下载完成是这样的一个文件:

 2. 点击这个exe文件进行安装

最后生成一个opencv文件夹。里面有两个子文件夹:Build 和 sources

 其中Build就是编译好的文件夹。其中包含一些子目录:

重点关注3个目录:

  • opencv / build / include
  • opencv / build / x64 / vc16 /bin
  • opencv / build / x64 / vc16 /lib

下面就是需要进行的配置。

3. 配置环境变量

在配置面板-》环境变量 在path中添加 opencv / build / x64 / vc16 /bin 目录

PS:为保险起见,我同时添加了用户的path 和 系统的path 

4. VS中的项目配置

4.1 打开VS,创建一个console 项目
4.2 在属性管理器中右键 进行属性配置(如果看不到属性管理器,可以从 视图--> 其他窗口 --> 属性管理器,这样可以调出属性管理器)

 4.3 头文件、库文件、链接器的配置

在 VC++项中,配置 包含的目录(即头文件目录)、和 库目录 

  • opencv / build / include
  • opencv / build / x64 / vc16 /lib

 在 链接器中 -> 输入 -> 附加依赖项 中 添加 lib文件夹下的opencv_world文件

 注意:

在lib文件夹下有两个文件,其中.lib文件是release版本, ***d.lib文件时debug版本。

这两个不能同时添加,否则会出现版本冲突而导致 一些错误(个人踩了好长时间的坑,教训社科)比如
C:\Users\31408\AppData\Local\Temp\cc6IKGp6.o: In function `main':
D:/mydocs/git_src/test_opencv/main.cpp:34: undefined reference to `cv::imread(std::string const&, int)'
D:/mydocs/git_src/test_opencv/main.cpp:39: undefined reference to `cv::imshow(std::string const&, cv::_InputArray const&)'
D:/mydocs/git_src/test_opencv/main.cpp:40: undefined reference to `cv::waitKey(int)'
D:/mydocs/git_src/test_opencv/main.cpp:34: undefined reference to `cv::Mat::~Mat()'
D:/mydocs/git_src/test_opencv/main.cpp:34: undefined reference to `cv::Mat::~Mat()'
collect2.exe: error: ld returned 1 exit status

 如果使用的是debug版本,添加debug库文件;如果是release版本,添加release库文件。具体是的debug 和 release , 是由VS上编译时选择的:

5. OK,运行自己一个小程序试试吧

/**Includes*********************************************************************/
#include <iostream> 
#include <opencv2/opencv.hpp>
/**namespace********************************************************************/
using namespace cv;
using namespace std;int main()
{//载入图片  const string file = "D:\\mydocs\\done_docs\\1.png";Mat img = imread(file);if (img.empty()){fprintf(stderr, "Can not load image ");return -1;}// 创建一个名为 "图像显示"窗口    namedWindow("pic");// 在窗口中显示图像    imshow("pic", img);// 等待1000 ms后窗口自动关闭    waitKey(0);
}

还可以加入断点进行debug

相关文章:

win10 + VS2022 安装opencv C++

最近需要用到C opencv&#xff0c;看了很多帖子都需要自己编译opencv源码。为避免源码编译&#xff0c;可以使用VS来配置opencv C。下面是主要过程&#xff1a; 目录 1. 从官网下载 opencv - Get Started - OpenCV 2. 点击这个exe文件进行安装 3. 配置环境变量 4. VS中的项…...

nginx反向代理及负载均衡的实现

目录 1.nginx反向代理 2.nginx负载均衡 3.nginx反向代理及负载均衡实现 nginx反向代理 4台主机都需要的操作&#xff1a; 两台服务器操作&#xff1a; 两台主机服务器进行测试&#xff1b; nginx负载均衡配置 4.nginx配置其他参数 多虚拟机访问 后端服务器日志中需要…...

Tomcat部署SpringBoot项目

1.修改打包方式 pom.xml 里 加上 <packaging>war</packaging>2.移除内嵌的Tomcat <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId><scope>provided</scope…...

Oracle笔记--dblink

概述 1、database link是定义一个数据库到另一个数据库的路径的对象&#xff0c;database link允许你查询远程表及执行远程程序。在任何分布式环境里&#xff0c;database都是必要的。另外要注意的是database link是单向的连接。 2、在创建database link的时候&#xff0c;Ora…...

Mapbox加载天地图CGCS2000矢量瓦片地图

1.背景 最近在做天地图的项目&#xff0c;要基于MapBox添加CGCS2000矢量切片数据&#xff0c;但是 Mapbox 只支持web 墨卡托&#xff08;3857&#xff09;坐标系的数据。Github有专业用户修改了mapbox-gl的相关代码&#xff0c;支持CGCS2000的切片数据加载&#xff0c;并且修改…...

day3 STM32 GPIO口介绍

GPIO接口简介 通用输入输出接口GPIO是嵌入式系统、单片机开发过程最常用的接口&#xff0c;用户可以通过编程灵活的对接口进行控制&#xff0c;实现对电路板上LED、数码管、按键等常用设备控制驱动&#xff0c;也可以作为串口的数据收发管脚&#xff0c;或AD的接口等复用功能使…...

【ElasticSearch】ElasticSearch 内存设置原则

由于ES构建基于lucene,而lucene设计强大之处在于lucene能够很好的利用操作系统内存来缓存索引数据&#xff0c;以提供快速的查询性能。lucene的索引文件segements是存储在单文件中的&#xff0c;并且不可变&#xff0c;对于OS来说&#xff0c;能够很友好地将索引文件保持在cach…...

VUE+ElementUI的表单验证二选一必填项,并且满足条件后清除表单验证提示

上代码 <el-form-item label"出库单号" prop"ecode" ref"ecode" :rules"rules.ecode"><el-input v-model"queryParams.ecode" placeholder"出库单号和出库箱号至少填写一项" clearable style"width…...

NLP 时事和见解【2023】

一、说明 AI的新闻当然不是即时的&#xff0c;但作为趋势和苗头&#xff0c;我们不得不做出自己的决定。比如&#xff0c;一些软件的支持是否持续&#xff0c;哪些现成的软件将不再使用&#xff0c;等等。 图片来自中途 以下是NLPlanet为您选择的有关NLP和AI的每周文章&#x…...

Windows 环境下 Python3 离线安装 cryptography 失败

发布Flask Web项目时&#xff0c;报错缺少Cryptography&#xff0c;于是尝试重新安装该库&#xff0c;但本机没有网络&#xff0c;只支持手动离线安装&#xff0c;尝试了pip、setup.py两种方式安装&#xff0c;结果都报错。。最后使用将安装包拷贝至本机(在其他电脑上安装的sit…...

年轻代频繁GC ParNew导致http变慢

背景介绍 某日下午大约四点多&#xff0c;接到合作方消息&#xff0c;线上环境&#xff0c;我这边维护的某http服务突然大量超时&#xff08;对方超时时间设置为300ms&#xff09;&#xff0c;我迅速到鹰眼平台开启采样&#xff0c;发现该服务平均QPS到了120左右&#xff0c;平…...

在.NET 6.0中自定义接口路由

在本文中&#xff0c;我们将讨论ASP.NET Core中的新路由。我们将了解什么是接口(endpoints)路由&#xff0c;它是如何工作的&#xff0c;它在哪里使用&#xff0c;以及如何创建自己的路由。 本文主题&#xff1a; 探索接口路由创建自定义接口创建更复杂的接口 名词定义&#…...

Kotlin读写分离CopyOnWriteArrayList

Kotlin读写分离CopyOnWriteArrayList 基于读写分离思想Copy-On-Write(COW)设计的线程安全ArrayList变体&#xff0c;读读共享、写写互斥、读写互斥、写读互斥。读时直接读&#xff0c;不用加锁同步&#xff0c;线程安全。写/删/修改数据时复制一个副本&#xff0c;在新的List副…...

centos自动同步北京时间

1、安装ntpdate服务 yum -y install ntpdate 2、加入自动任务计划 查找ntpdate的路径&#xff1a; which ntpdate 复制这个路径。 编辑自动任务计划并加入ntpdate&#xff1a; crontab -e # 每小时第30分钟同步AD域控时间 30 * * * * /usr/sbin/ntpdate -u 192.168.2.8 > …...

element-ui表格跨页多选实现

前言 在我们日常项目开发中,经常会有表格跨页多选的需求,接下来让我们用 el-table 示例一步步来实现这个需求。 动手开发 在线体验 https://codesandbox.io/s/priceless-mcclintock-4cp7x3?file/src/App.vue 常规版本 本部分只写了一些重点代码,心急的彦祖可以直接看 性…...

线性代数(三) 线性方程组向量空间

前言 如何利用行列式&#xff0c;矩阵求解线性方程组。 线性方程组的相关概念 用矩阵方程表示 齐次线性方程组&#xff1a;Ax0&#xff1b;非齐次线性方程组&#xff1a;Axb. 可以理解 齐次线性方程组 是特殊的 非齐次线性方程组 如何判断线性方程组的解 其中R(A)表示矩阵A的…...

学习跨度级交互以提取方面情感三元组

方面情感三元组 方面情感三元组&#xff08;Aspect Sentiment Triplet&#xff09;是一种在情感分析中使用的结构&#xff0c;它包含三个部分&#xff1a;方面目标&#xff08;Aspect Target&#xff09;、情感&#xff08;Sentiment&#xff09;和对应的观点词&#xff08;Op…...

那些年的Xposed开发经验记录

把之前写的Xposed相关文章合并到一块&#xff0c;方便查阅 目录 多进程App的Hook问题XposedHelper中的静态变量demo的AndroidManifest.xml的测试核心代码结论限制handleLoadPackage被单个进程多次执行的问题 多dex Hook问题为应用增加权限利用Xposed删除权限参考 Hook框架集锦…...

android studio内存分析之Memory profiler的使用

目录 Android Studio中内存分析工具Memory profiler的使用1. 打开Memory Profiler2. 工具使用3. 内存选项说明4. 内存性能分析器概览5. 内存计算方式6. 查看内存分配7. 捕获java/kotlin方式查看内存分配8. 堆转储文件导入和导出 内存性能分析器中的泄漏检测 Android Studio中内…...

Qt下载慢/无法下载解决方式

文章目录 一. Qt在线安装下载二. 安装方式 一. Qt在线安装下载 官网下载&#xff1a;https://www.qt.io/download清华源下载&#xff1a;https://mirrors.tuna.tsinghua.edu.cn/qt/official_releases/online_installers/ 二. 安装方式 进入下载好的目录 在目录栏输入CMD&…...

C++的constinit常量初始化与静态存储期变量的启动时间优化

C的constinit常量初始化与静态存储期变量的启动时间优化 在现代C开发中&#xff0c;程序的启动性能优化是一个不可忽视的课题。尤其是静态存储期变量&#xff08;如全局变量或静态局部变量&#xff09;的初始化&#xff0c;往往会导致程序启动时间延长。为了解决这一问题&…...

YOLOX训练避坑指南:从VOC数据集制作到模型调优的全流程实战

YOLOX实战避坑手册&#xff1a;VOC数据集构建与工业级调优策略 当你第一次在屏幕上看到YOLOX识别出目标物体时&#xff0c;那种成就感就像解开一道复杂的数学题。但在此之前&#xff0c;大多数开发者都会在数据准备、环境配置和参数调优这三个环节反复跌倒。去年我们团队在智能…...

AI时代新型的项目管理应该是什么样的?嗣

AI训练存储选型的演进路线 第一阶段&#xff1a;单机直连时代 早期的深度学习数据集较小&#xff0c;模型训练通常在单台服务器或单张GPU卡上完成。此时直接将数据存储在训练机器的本地NVMe SSD/HDD上。 其优势在于IO延迟最低&#xff0c;吞吐量极高&#xff0c;也就是“数据离…...

Abaqus GUI界面中文乱码终极解决方案(含插件兼容指南)

1. Abaqus中文乱码问题全解析 第一次打开Abaqus发现菜单栏全是"口口口"的时候&#xff0c;我差点以为软件装坏了。这种中文乱码问题在工程仿真领域特别常见&#xff0c;尤其是使用中文操作系统的用户。经过多次实践&#xff0c;我发现根本原因是Abaqus默认的locale设…...

别再傻傻用numpy.convolve了!用FFT卷积给Python音频处理提速10倍(附完整代码)

别再被numpy.convolve拖慢&#xff01;FFT卷积实战指南&#xff1a;音频处理效率提升10倍 当你在Python中处理音频信号时&#xff0c;是否经历过这样的煎熬——一段3分钟的音频文件&#xff0c;用numpy.convolve做卷积运算竟然要等待近20秒&#xff1f;这种体验就像用拨号上网下…...

Komikku与追踪器集成:如何实现与MyAnimeList、AniList的自动同步

Komikku与追踪器集成&#xff1a;如何实现与MyAnimeList、AniList的自动同步 【免费下载链接】komikku Free and open source manga reader for Android 项目地址: https://gitcode.com/gh_mirrors/ko/komikku Komikku是一款免费开源的Android漫画阅读应用&#xff0c;支…...

光度立体三维重建中的光源标定:从理论到Matlab实践

1. 光度立体三维重建与光源标定的基础概念 想象一下你正在用手电筒照射一个苹果&#xff0c;随着手电筒角度的变化&#xff0c;苹果表面的明暗也会跟着改变。光度立体三维重建就是利用这个原理&#xff0c;通过分析物体在不同光照条件下的明暗变化&#xff0c;来还原物体的三维…...

Sketch MeaXure终极指南:如何快速生成专业设计规范

Sketch MeaXure终极指南&#xff1a;如何快速生成专业设计规范 【免费下载链接】sketch-meaxure 项目地址: https://gitcode.com/gh_mirrors/sk/sketch-meaxure 你是否经历过这样的场景&#xff1f;精心设计完界面后&#xff0c;开发团队却反复询问"这个间距是多少…...

从VINS-Mono移植到ROS2受阻?手把手教你用源码在Ubuntu 22.04搭建ROS Noetic测试环境

在Ubuntu 22.04上源码构建ROS Noetic环境的完整指南 当算法工程师尝试将VINS-Mono从ROS迁移到ROS2时&#xff0c;经常会遇到各种兼容性问题。这时候&#xff0c;拥有一个原生的ROS Noetic环境进行对照测试就显得尤为重要。本文将详细介绍如何在Ubuntu 22.04上通过源码构建完整的…...

最新门店扫码点餐系统源码 小程序点餐系统 点餐APP uniapp多端接入

内容目录一、详细介绍二、效果展示1.部分代码2.效果图展示一、详细介绍 点餐系统基于javaSpringBootelement-plusuniapp打造的面向开发的小程序商城&#xff0c;方便二次开发或直接使用&#xff0c;可发布到多端&#xff0c;包括微信小程序、微信公众号、QQ小程序、支付宝小程…...