VS2017配置OpenCV
VS2017配置OpenCV
0 OpenCV介绍
OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉库,它提供了丰富的图像处理和计算机视觉算法,可用于处理图像和视频数据。OpenCV 提供了C语言版本,使开发者可以使用C语言来调用OpenCV提供的功能。
OpenCV 可以用来进行多种图像处理和计算机视觉任务,包括但不限于以下方面:
图像处理:OpenCV 支持图像的读取、保存、复制、剪裁、缩放、旋转、反转等基本操作。
图像滤波:可以应用各种滤波器对图像进行平滑处理、边缘增强、锐化等。
特征检测与描述:可以检测图像中的关键点,计算特征描述子,用于图像匹配和物体识别。
目标检测:可以进行目标检测和目标跟踪,如人脸检测、物体检测等。
视觉特效:可以实现各种视觉特效,如色彩转换、图像融合、图像修复等。
摄像头与视频处理:可以获取摄像头数据,进行实时图像处理和视频处理。
机器学习:OpenCV 提供了一些基本的机器学习算法,如支持向量机(SVM)、k近邻(k-NN)等。
1 下载OpenCV
OpenCV Release版本下载地址为https://opencv.org/releases/,提供了如下环境可选

本次安装以OpenCV3.4.2版本为例,下载地址为Download opencv-3.4.2-vc14_vc15.exe (OpenCV) (sourceforge.net)。在下载完成后,开始安装。
2 安装OpenCV
安装过程没什么需要注意的,选择路径,下一步即可。

3 配置OpenCV
打开VS2017,新建工程,在属性中修改配置,
(1)修改包含目录
为如下三个:
D:\Software\opencv\build\include
D:\Software\opencv\build\include\opencv
D:\Software\opencv\build\include\opencv2

(2)修改库目录
库目录中加入
D:\Software\opencv\build\x64\vc14\lib

(3)添加附加依赖项
附加依赖项中加入opencv_world341d.lib和opencv_world341.lib。带d为debug,不带d为release。

(4)将动态链接库拷贝至工程文件
D:\Software\opencv\build\x64\vc14\bin路径下有两个dll文件,将其copy至VS工程文件夹中,否则会报错缺少dll文件。

(5)测试代码
测试代码是利用OpenCV实现了对一个随机的8×8二维数组,利用3×3的卷积核进行滤波的操作。
#include <iostream>
#include <opencv2/opencv.hpp>
int main() {
// 生成随机的8x8二值图
cv::Mat img(8, 8, CV_8UC1);
cv::randu(img, 0, 2); // 随机生成0或1的值
// 定义3x3全1的卷积核
cv::Mat kernel(3, 3, CV_32FC1, cv::Scalar(1.0));
// 执行卷积操作
cv::Mat result;
cv::filter2D(img, result, CV_8UC1, kernel);
// 将结果转换为二维数组并打印
int rows = result.rows;
int cols = result.cols;
std::vector<std::vector<int>> resultArray(rows, std::vector<int>(cols));
for (int i = 0; i < rows; ++i) {
for (int j = 0; j < cols; ++j) {
resultArray[i][j] = result.at<uchar>(i, j);
std::cout << resultArray[i][j] << " ";
}
std::cout << std::endl;
}
return 0;
}
运行后打印结果,则表示配置成功!

VS2017配置OpenCV的更多相关文章
- OpenCV3.42+VS2017配置+模块计算机类型“X86”与目标计算机类型“x64”冲突”的问题解决
目录 OpenCV3.42+VS2017配置 Visual Studio 2017 第三方依赖设置,附加依赖项和附加库目录 "fatal error LNK1112: 模块计算机类型&quo ...
- VS2017配置opencv-4.2.0详细步骤
VS2017配置opencv-4.2.0详细步骤 1.下载opencv的安装包并解压.下载网址https://sourceforge.net/projects/opencvlibrary/ 图1 ...
- 配置OpenCV产生flann\logger.h(66): error C4996: 'fopen': This function or variable may be unsafe问题[zz]
使用vs2012/2013配置opencv编译出现问题: 1>------ 已启动生成: 项目: Win32ForOpenCV245, 配置: Debug Win32 ------ 1> ...
- 使用属性表:VS2013上配置OpenCV
以前,windows下配置OpenCV一直不太方便:总是要手动添加lib,添加include,还要配置PATH使得程序运行时候能找到dll文件. 每次新建一个使用OpenCV的工程都要手动添加,很麻烦 ...
- vs配置opencv
配置OpenCv: 一.新建工程 无论是mfc还是控制台程序都可以. 二.下载opencb,安装在非空格路径下面 解压出来有两个文件夹:build和source,主要用到build,build-x86 ...
- 在VS2010下配置OpenCV 2.3
一.下载OpenCV 2.3: http://www.opencv.org.cn/download/OpenCV-2.3.0-win-superpack.exe 二.解压 将下载的Op ...
- VS2010 配置opencv环境
大家在使用opencv的时候肯定会面对这样一个问题:根据官网以及大多数教程提供的方法中,似乎每一次新建一个opencv的新项目以后都需要重新再配置"VC++目录"中的"包 ...
- OpenCV2学习笔记03:Qt中配置OpenCV环境
在Qt中开发基于OpenCV的应用时,需要配置对应函数库到环境变量,这时候我们需要使用到qmake能够识别的变量来指定环境变量. INCLUDEPATH: 用于指定搜索头文件到文件夹路径. LIBS: ...
- vs2012配置opencv及简单测试
为visual studio2012搭建openCV平台,实现打开图片. 实现步骤: 1.1.配置环境变量 基于win7操作系统的环境配置步骤: 1.1.1 计算机—>属性—>更改设置—& ...
- vs c++配置opencv(1)
环境: vs2013 opencv2.4.13 准备工作: 1.安装opencv. opencv各版本间存在API差异,opencv提供相应版本的vc文件,在其安装目录 ..opencv\build\ ...
随机推荐
- 基于Python的爬虫案例
案例1:使用爬虫爬取京东华为手机用户评论 本案例借鉴哔哩哔哩博客主视频教程,感谢其教程为我开启了爬虫之旅:https://www.bilibili.com/video/BV1Yt4y1Y7nt?t=3 ...
- TEC-6计算机组成原理实验(简图)
TEC-6计算机组成原理实验
- javasec(一)java反射
这篇文章介绍javasec基础知识--java反射. 0x01 反射是什么? 反射是一种机制,利用反射机制动态的实例化对象.读写属性.调用方法.构造函数. 在程序运行状态中,对于任意一个类或对象,都能 ...
- 文件上传漏洞靶场:upload-labs(附在线地址)
重装系统:CentOS 7.6 密钥对验证,或密码验证,根据自身情况选择,博主这边为了ssh连接方便选用的密码校验. WindTerm登录系统 需提前去云服务器的安全组,开放22端口ssh连接. 更新 ...
- 我的第一个项目(十二) :分数和生命值的更新(后端增删查改的"改")
好家伙,写后端,这多是一件美逝. 关于这个项目的代码前面的博客有写 我的第一个独立项目 - 随笔分类 - 养肥胖虎 - 博客园 (cnblogs.com) 现在,我们登陆进去了,我开始和敌人战斗,诶 ...
- Java 网络编程 —— Socket 详解
构造 Socket 在[客户端/服务端]的通信模式中,客户端需要主动构造与服务器连接的 Socket,构造方法有以下几种重载形式: Socket() Socket(InetAddress addres ...
- QUIC在京东直播的应用与实践
作者:京东零售 周凯 一. 前言与背景 国内的互联网直播技术从2005年前后兴起,彼时最具代表性的直播产品是由PPLive创始人姚欣在华中科技大学就读期间发起的校园直播项目PPLive.当时的直播技术 ...
- DevOps|AGI : 智能时代研发效能平台新引擎(上)
AGI 的出现,给了我们一个新视角去审视我们做过的系统,尤其是研发效能平台.研发效能平台作为一个工具平台,本质就是提高公司整体产研的效率.AGI 的快速进步大家已经有目共睹,本文就是在项目协同,代码管 ...
- JavaWeb之day03js
目录: 1.js的String对象(****) 2.js的Array对象 (****) 3.js的Date对象 (****) * 获取当前的月 0-11,想要得到准确的月 +1 * 获取星期时候,星期 ...
- 2023-03-16:给定一个由 0 和 1 组成的数组 arr ,将数组分成 3 个非空的部分, 使得所有这些部分表示相同的二进制值。 如果可以做到,请返回任何 [i, j],其中 i+1 < j
2023-03-16:给定一个由 0 和 1 组成的数组 arr ,将数组分成 3 个非空的部分, 使得所有这些部分表示相同的二进制值. 如果可以做到,请返回任何 [i, j],其中 i+1 < ...