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/,提供了如下环境可选

image-20230717183453425

本次安装以OpenCV3.4.2版本为例,下载地址为Download opencv-3.4.2-vc14_vc15.exe (OpenCV) (sourceforge.net)。在下载完成后,开始安装。

2 安装OpenCV

安装过程没什么需要注意的,选择路径,下一步即可。

image-20230717183716136

3 配置OpenCV

打开VS2017,新建工程,在属性中修改配置,

(1)修改包含目录

为如下三个:

D:\Software\opencv\build\include

D:\Software\opencv\build\include\opencv

D:\Software\opencv\build\include\opencv2

image-20230717184937103

(2)修改库目录

库目录中加入

D:\Software\opencv\build\x64\vc14\lib

image-20230717185144846

(3)添加附加依赖项

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

image-20230717185400944

(4)将动态链接库拷贝至工程文件

D:\Software\opencv\build\x64\vc14\bin路径下有两个dll文件,将其copy至VS工程文件夹中,否则会报错缺少dll文件。

image-20230717185603000

(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;
}

运行后打印结果,则表示配置成功!

image-20230717185746073

posted @ 2023-07-17 19:12  GeoFXR  阅读(193)  评论(0编辑  收藏  举报