VS2019中配置opencv4.3.0(亲测有效)

写在前面:之前一直使用vs2017+opencv的配置,现在体验vs2019+opencv 4.3.0的配置。由于之前的配置相隔很久,忘记很多东西,如今重新配置还是踩了很多坑,记录如下,希望对读者有帮助。

使用说明

PC是Win10家庭版
Visual  Studio Community 2019 
Opencv用的版本是4.3.0

第一部分:Opencv部分

1.Opencv4.3.0下载

官方下载地址:https://opencv.org/releases/
目前最新版本是4.3.0
这里选择windows
在这里插入图片描述
下载完压缩包名:opencv-4.3.0-vc14_vc15.exe
解压完文件名:opencv
在这里插入图片描述

2.Opencv的环境变量

【1】找到我的电脑图标(或者是此电脑),右击。选择属性。
【2】选择高级系统设置,找到环境变量。
在这里插入图片描述

【3】找到系统变量一栏,双击“path”
在这里插入图片描述

【4】点击新建。输入你的安装路径,需要到bin这个文件。

D:\opencv\build\x64\vc15\bin

下面为环境变量的添加。
在这里插入图片描述

3.添加dll文件到System32中

这个路径的来源如下图,当你一层层点击,直到bin这个文件打开,呈现的一般是类似于下图的样子。这个时候再复制路径到上面的环境变量的添加中。
在这里插入图片描述
在路径下找到3个应用程序扩展文件,分别为

opencv_videoio_ffmpeg430_64.dll
opencv_world430.dll
opencv_world430d.dll

将opencv_world430.dll、opencv_videoio_ffmpeg430_64.dll和opencv_world430d.dll复制到下面的目录

C:\Windows\System32

第二部分:VS中的操作

主要是配置包含目录和库目录,以及附加依赖项的添加。

1.新建项目并进入属性页

【1】新建一个空项目。

在这里插入图片描述

简单编辑项目名称(或者默认不变)
在这里插入图片描述

【2】进入项目属性页。在右侧解决方案一栏中点击刚才创建好的项目名,然后右击,选择属性。可以得到如下图的界面。

在这里插入图片描述
在这里插入图片描述

属性页如下图所示
在这里插入图片描述

2.包含目录,库目录,附加依赖项的配置

【动手前提醒】下面需要对包含目录和库目录进行设置,尽量不要选择这种所有配置、所有平台,这样在添加附加依赖项的时候会报错。
正确的做法请往下看。

在这里插入图片描述

正确的做法
对于debug和release模式进行分别配置
在这里插入图片描述

1) release模式和平台x64

在这里插入图片描述
包含目录下添加

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

在这里插入图片描述

库目录添加:
需要自己安装的目录

D:\opencv\build\x64\vc15\lib

在这里插入图片描述

添加附加依赖项
链接器->输入->附加依赖项,点击右侧的下拉箭头进行编辑,添加:

opencv_world430.lib

可以在如下路径找到

D:\opencv\build\x64\vc15\lib

在这里插入图片描述

下图是错误的配置,这样配置会导致release可以正常运行而debug模式总是报错LNK1112 模块计算机类型“x64”与目标计算机类型“x86”冲突或者相反(有一种模式正常,一种模式报错)

在这里插入图片描述
正确的配置:
这里需要注意的是debug模式和release分别添加依赖项!!!!
debug模式dll文件中带有字母d
release模式dll文件中不含字母d
对于release模式,只填入一个opencv_world430.lib
在这里插入图片描述

对于debug模式只填入一个opencv_world430d.lib
在这里插入图片描述

2)debug模式和x64平台

需要选择配置:debug,平台:x64
在这里插入图片描述
其他步骤同上。
另外对于右上角配置管理器,需要选择平台X64,有时候报错是这一步没有设置。
在这里插入图片描述

3.代码测试

解决方案管理器中,选择源文件,右键添加,新建项
在这里插入图片描述

在这里插入图片描述

添加代码如下


#include <iostream>
#include<opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>//Opencv highgui 模块头文件
#include<opencv2/imgproc/imgproc.hpp>//图像处理头文件
using namespace cv;

int main(){
	//功能二:图像模糊
	Mat srcImage = imread("D:\\user\\下载\\计算机网络.jpg");//需要自己设置路径,注意使用\\

	imshow("均值滤波原始图",srcImage);

	Mat dstImage;
	blur(srcImage,dstImage,Size(7,7));

	imshow("均值滤波效果图",dstImage);

	waitKey(0);
}

选择下图所示
debug和x64或者relese和x64,点击本地windows调试器运行项目
在这里插入图片描述
测试结果
在这里插入图片描述

4.问题汇总

遇到问题【1】

严重性	代码	说明	项目	文件	行	禁止显示状态
错误	LNK1112	模块计算机类型“x64”与目标计算机类型“x86”冲突	forOpenCV	D:\user\文档\Visual Studio 2019\repos\forOpenCV\opencv_world430.lib(opencv_world430.dll)	1	

这是因为附加依赖项两个dll文件同时添加到一个模式中,上文中提到过。解决办法是需要含有字母d的dll文件配置到dubug模式,不含有字母d的dll文件配置到release模式。

遇到问题【2】
在x64和release下遇到问题opencv_world430.dll
在这里插入图片描述
这个问题是由于没有把
opencv_videoio_ffmpeg430_64.dll
opencv_world430.dll
opencv_world430d.dll
三个dll文件复制到C:\Windows\System32目录下。
解决办法是将其复制到该目录下。

参考博客:
VS2017 + OpenCV3 永久配置,同时 解决 debug模式下不报错release模式报错 或 debug模式下不报错release模式报错 的问题

猜你喜欢

转载自blog.csdn.net/shizheng_Li/article/details/102467938