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

vs2022配置OpenCV测试

1,下载Opencv安装包

OpenCV官网下载地址:Releases - OpenCV

大家可以按需选择版本进行下载,官网下载速度还是比较慢的,推荐大家使用迅雷进行下载

  • 下载安装包到自定义文件夹下

  • 双击安装

按以下图示进行安装

2、 添加环境变量

  • 打开安装好的路径,找到...\opencv\build\x64\vc15\bin这个路径,将其复制下来

  • 新建系统变量并粘贴

右击“此电脑”选择属性,选择高级系统设置

到目前为止,环境变量已配置完毕

3、 导入.dll(动态库)文件
1)在安装好的文件夹中找到此路径:...\OpenCV\build\x64\vc16\bin,可以看到路径下有5个dll文件(不同版本的OpenCV可能不一样),将其全部复制

2)找到C:\Windows\SysWOW64与C:\Windows\System32这两个文件夹,将上面复制好的5个dll文件分别粘贴到这两个文件夹中

4、 Visual Studio项目属性配置

  1. 打开 Visual Studio新建c++空项目,右击源文件选择添加中的新建项,在弹出的窗口中选择c++文件

  1. 配置项目属性
  • 右击项目选择属性

  • 编辑VC++目录中的包含目录与库目录

在下拉栏点击编辑进入包含目录界面

双击上方空白位置添加以下两个路径,如下图:

E:\OpenCV\build\include、E:\OpenCV\build\include\opencv2 (根据自己下载的实路径)

按照同样的操作进入库目录中,将E:\OpenCV\build\x64\vc16\lib添加进去

  • 编辑链接器里的添加依赖项,在以下路径找到opencv_world470.lib与opencv_world470d.lib这两个文件,将文件名复制,粘贴到附加依赖项中

这里要区分情况:

Debug、X64模式下,不能opencv_world460.lib、opencv_world460d.lib两个都填进去,否则容易出错,这里说容易出错的原因是因为谁排在前面,VS先识别谁,

opencv_world460.lib对应Release配置,

opencv_world460d.lib对应Debug配置,

这里opencv_world460.lib排在最前面,先识别,和Debug、X64模式冲突,所以导致上述错误
 

3,测试安装成功

#include <opencv2\opencv.hpp> 
#include <iostream>using namespace std;
using namespace cv;int main()
{Mat img;img = imread("F:/work//test.jpg"); // 改成自己的图片路径if (img.empty()){cout << "请确认图像文件名是否正确" << endl;return 0;}imshow("test", img);waitKey(0);return 0;
}

可能出现的报错:

1.路径出错:这里的imread函数的路径为双斜杠、或单反斜杠,或在斜杠前加r(注:python中可以,C++中未测试过),不必非要放在解决方案路径下。
项目同目录下为:Mat src = imread(“02.jpg”);

或非项目同目录下,需绝对路径: Mat src = imread(“C:\02.jpg”);

或非项目同目录下,需绝对路径: Mat src = imread(r"C:\02.jpg");

或非项目同目录下,需绝对路径: Mat src = imread(“C:/02.jpg”);
 

相关文章:

  • 注意!不清楚这些,2024上半年软考别轻易尝试!
  • 【好书推荐-第四期】《Go专家编程(第2版)》华为资深技术专家力作,第1版评分9.4,适合Go程序员面试
  • 使用WAF防御网络上的隐蔽威胁之SQL注入攻击
  • Android项目架构怎么做
  • 大数据Doris(五十六):SQL函数之地理位置函数
  • WEB前端人机交互导论实验-实训9 JavaScript
  • 逸学Docker【java工程师基础】3.3Docker安装nacos
  • Golang 替换数字卡码54题
  • 【总结】浅谈深度学习算法与硬件协同优化
  • Git提交规范
  • ❤ HbuildX使用以及快捷键
  • 【深度学习:Synthetic Training Data 】合成训练数据简介
  • 做数据缓存,Map 比List更具有优势
  • 直播预告丨看零售场,如何玩转 MaaS
  • UDP传输总丢包?常用的解决方式在这里!
  • 【挥舞JS】JS实现继承,封装一个extends方法
  • android百种动画侧滑库、步骤视图、TextView效果、社交、搜房、K线图等源码
  • Android框架之Volley
  • java B2B2C 源码多租户电子商城系统-Kafka基本使用介绍
  • JavaScript 基础知识 - 入门篇(一)
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • PHP面试之三:MySQL数据库
  • Selenium实战教程系列(二)---元素定位
  • text-decoration与color属性
  • V4L2视频输入框架概述
  • vue:响应原理
  • 从PHP迁移至Golang - 基础篇
  • 更好理解的面向对象的Javascript 1 —— 动态类型和多态
  • 快速体验 Sentinel 集群限流功能,只需简单几步
  • 前端面试之闭包
  • 一加3T解锁OEM、刷入TWRP、第三方ROM以及ROOT
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • d²y/dx²; 偏导数问题 请问f1 f2是什么意思
  • 阿里云服务器购买完整流程
  • ![CDATA[ ]] 是什么东东
  • #includecmath
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • #我与Java虚拟机的故事#连载02:“小蓝”陪伴的日日夜夜
  • (04)Hive的相关概念——order by 、sort by、distribute by 、cluster by
  • (1)(1.19) TeraRanger One/EVO测距仪
  • (1)Android开发优化---------UI优化
  • (1)虚拟机的安装与使用,linux系统安装
  • (阿里云万网)-域名注册购买实名流程
  • (附源码)springboot车辆管理系统 毕业设计 031034
  • (十一)手动添加用户和文件的特殊权限
  • (一)插入排序
  • /dev/VolGroup00/LogVol00:unexpected inconsistency;run fsck manually
  • @ModelAttribute 注解
  • [ NOI 2001 ] 食物链
  • [2010-8-30]
  • [Angular 基础] - 表单:响应式表单
  • [Angular] 笔记 8:list/detail 页面以及@Input
  • [BZOJ1060][ZJOI2007]时态同步 树形dp
  • [C#]DataTable常用操作总结【转】
  • [C/C++]数据结构 堆的详解