VS2019+ Opencv4.5.4配置使用log

注:

1.安装

官网下载opencv 4.5.4编译好的代码

解压放在本地

2.配置opencv 环境变量

按下window键输入环境变量

按下回车,选择 环境变量后点击Path

然后根据自己的opencv安装位置添加以下两行,vc15\14自己选择

点击三次确定后退出环境变量设置。

3.配置vs属性文件

1.vs新建一个c++空项目。

2.配置项目属性

选择属性管理器,不是右键项目》属性

如下图所示,选择debug64后右键添加新建项目属性表,创建名为opencv454dX64.props文件

共有三处配置

有两种配置方式,可以同时配置,有1个即可。

1.选择配置VC++

属性卡中选择VC++一栏下的

包含目录:填写

D:\opencv\opencv454\build\include

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

库目录;

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

链接器》输入》附加依赖项  填写 opencv_world454d.lib

至此属性配置完成

2.选择配置C++

属性卡中选择C++一栏下的

常规->附加包含目录:填写

D:\opencv\opencv454\build\include

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

链接器》常规》附加库目录添加:

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

链接器》输入》附加依赖项添加:

opencv_world454d.lib

 至此另一种属性配置完成。

到此,在你的项目目录下会有一个文件

 下次新建同等配置的项目的时候,可以直接在项目的属性管理器中添加现有项目属性表,选择此文件即可。注意此文件最好拷贝到当前项目路径下。

4.测试

#include<iostream>
#include <opencv2/core.hpp>
#include <opencv2/highgui.hpp>

using namespace std;
using namespace cv;
int main() 
{

	//std::string image_path = samples::findFile("d:\\23.png");
	//;
	//-- 1 --双右斜线法
   //string image_path = "D://opencv//opencv454//sources//samples//data//apple.jpg";
   //-- 2 --双左斜线法
   //string image_path = "D:\\opencv\\opencv454\\sources\\samples\\data\\apple.jpg"
   //-- 3 --单左斜线法 XXX
	//string image_path = "D:\opencv\opencv454\sources\samples\data\ml.png";XXX 
   //-- 4 --以上三种混合法
   string image_path = "D:/opencv\\opencv454\\sources\\samples\\data/apple.jpg";
   //-- 5 --相对路径法
   //string image_path = "23.png";
	//string image_path = "D:/opencv/opencv454/sources/samples/data/apple.jpg";
	//唯一不支持的路径就是全左单斜杠,即 不支持windows默认的路径格式
	Mat img = imread(image_path, 0);

	if (img.empty()) // Check for invalid input
	{
		cout << "Could not open or find the image" << std::endl;
		return -1;
	}
	namedWindow("Display window", WINDOW_AUTOSIZE); // Create a window for display.
	imshow("Display window", img); // Show our image inside it.
	
	waitKey(1000);
	destroyWindow("Display window");//不加会内存泄漏
}

如果路径下确实有这张图片,应该可以正常显示停留1s后窗口关闭;

在此处遇到的一个问题是,在最初配置附件依赖项的时候,添加了两个 opencv_world454.lib,opencv_world454d.lib,并且是在debug模式下,导致一直无法成功读取图片。

参考这篇文章https://blog.csdn.net/qq_40969467/article/details/109777148后将opencv_world454.lib删除后正常,因为我现在是debug模式,opencv_world454.lib是release模式下的。

总结:在配置工程时,Debug工程的“链接器-》输入-》附加依赖项”一般只加*d.lib库;而Release工程的“链接器-》输入-》附加依赖项”一般只加*.lib库。

猜你喜欢

转载自blog.csdn.net/u012422524/article/details/124795495