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\ ...
随机推荐
- nginx配置phpcms v9伪静态规则 phpcms伪静态 404 Not Found
location / { if (!-f $request_filename){ rewrite (.*) /index.php; } rewrite ^/caipu-([0-9]+)-([0-9]+ ...
- Linux云计算运维工程师day28shell编程基础
一. 1.全局变量.环境变量 Export OLDOBY="I am a oldboy." Echo OLDOBY OLDOBY="I am a oldboy.&quo ...
- 3.2 构造器、this、包机制、访问修饰符、封装
构造器 构造器:在实例化的一个对象的时候会给对象赋予初始值,因此我们可以通过修改构造器,来改变对象的初始值,构造器是完成对象的初始化,并不是创建对象 我们也可以创建多个构造器实现不同的初始化,即构造器 ...
- 《C和指针》第一章
1 第一章 C标准库中几个常用的IO函数 int puts(void *str): 从str中提取字符直到遇到第一个'\0'为止,将这些字符串加上'\n'后发送给stdout. int main(vo ...
- KMP字符串匹配问题
KMP算法 本文参考资料:https://www.zhihu.com/question/21923021 KMP算法是一种字符串匹配算法,可以在 \(O(n+m)\) 的时间复杂度内实现两个字符串的匹 ...
- Git&GitHub简介与入手(三)
五.eclipse中的git使用 1.eclipse中本地库操作 (检测显示创建成功): (设置本地库范围签名): (一些git里的图标,保存着不同内容): https://github.com/gi ...
- uni-app 打包发行
1.云端 发行-原生App-云打包 2.离线 运行-原生App本地打包-生成本地打包资源,如果提示安装依赖包,安装即可 注意:项目的AppID不能为空,请在该项目下的manifest.json中重新获 ...
- c++函数参数和返回值
c++函数参数和返回值 函数存储位置 函数参数入栈顺序 初始化列表 函数的返回值 用参数引用来返回 返回一个参数指针 返回一个对象 总结 函数的几种变体 inline 函数 函数对象 lambda 函 ...
- 用批处理干掉汇编masm link六回车
干掉麻烦的六回车 踏破铁鞋无觅处,得来全不费功夫 前言 最近在上汇编语言的课,在手动编译链接的时候你可能做过以下操作: 输入 masm 1.asm 回车 回车 回车 输入 link 1.obj 回车 ...
- R EnhancedVolcano 绘制火山图
火山图是用于差异表达分析结果可视化的一种有效方法.今天,我们来介绍一个用于增强火山图绘制的强大 R 包:EnhancedVolcano ,该包拥有强大的绘图功能,用户可以简单的通过设置颜色.形状.大小 ...