计算机系统应用教程网站

网站首页 > 技术文章 正文

Opencv+VS环境配置一次,使用永久

btikc 2024-09-08 12:09:54 技术文章 16 ℃ 0 评论

听说有一半的人学习opencv图像处理算法在配置环境的过程中就放弃了,哈哈哈!在正常不过了,我刚开始学习的时候也捣鼓好久也没成功,人笨傻,但心态好呀!花了好几天(毫不夸张)终于会配辽,分享给大家相互学习。

说明:我用的VS2012+CV3.0,配置opencv主要配置include、lib和附加项。

1.新建工程

步骤:

(1)打开 VS ,选择文件 -> 新建 -> 项目。

(2)选择 Visual C++ -> Win32 -> Win32 控制台应用程序,填写名称和选择存储位置即可。

(3)在弹出的Win32 应用程序向导中,在附加选项中选择空项目,点击完成。

具体步骤如下图:


2. 打开属性管理器

说明:有些编译器的属性管理器可能隐藏了,只要点击视图 -> 其他窗口 -> 属性管理器(M) ,属性管理器就出来了。


3. 新建项目属性列表

新建项目属性列表,并起个名字(property.props)。(此处以win32,debug示范,可以自己在release下或者64位下新建)。

步骤:鼠标右键 Debud | Win32 -> 添加新项目属性表,随便起个名字即可。


4. 配置 OpenCV 环境

步骤:

(1)鼠标右键刚才新建的属性表,选择属性,VC++ 目录 - > 包含目录,引入你自己 opencv 安装包下的路劲,如我分别是:F:\opencv3.0\opencv\build\include,F:\opencv3.0\opencv\build\include\opencv,F:\opencv3.0\opencv\build\include\opencv2

(2)VC++ 目录 - > 库目录,引入你自己 opencv 安装包下的路劲,如我的是:F:\opencv3.0\opencv\build\x64\vc12\lib

(3)链接器 -> 附加依赖项,在你自己 opencv 安装包下的路劲:F:\opencv3.0\opencv\build\x64\vc12\lib ,把末尾带 d 的 .lib 添加到附加依赖项中(右键重命名,把它整个名字赋值进去就可以),点击应用 - >确定就可以了。


5. 环境测试

点击切换到解决方案资源管理器,右键源文件 -> 添加 -> 新建项 -> C++ 文件 (.cpp) ,自己取个名称 (如 main.cpp) -> 添加。


添加如下代码测试:
#include<opencv2/opencv.hpp>

#include<iostream>

using namespace std;

using namespace cv;

void test()

{

	Mat srcImg = imread("dog.jpg");

	if (srcImg.empty())

	{
		cout << "could not load image...\n" << endl;
	}

	namedWindow("Original image", CV_WINDOW_AUTOSIZE);

	imshow("Original image", srcImg);
}

int main()

{
	test();
	waitKey(0);
	return 0;
}


注意:这里准备的测试图片要放在你创建项目的 .cpp 同级目录下。


报错:错误 4 error LNK1112: 模块计算机类型“x64”与目标计算机类型“X86”冲突。

解决办法:在 Debug 下调出 配置管理器 -> 活动解决方案平台里选择新建 -> 选择 x64 ,在重新运行即可。


测试结果:


6. 测试新建项目引入配置好的文件

按照之前的步骤新建一个 test2 的项目,这次不用再配置 OpenCV 了,直接找到上次配置好的添加就可以了。

步骤:

(1)鼠标右键 Debud | Win32 -> 添加现有属性表。找到上次配置好的 property.props 文件添加进来就可以了。


注意:

(1)这里要和上面一样模块计算机类型要与目标计算机类型一致,参考前面的设置即可。

(2)测试图片要放在你创建项目的 .cpp 同级目录下。

代码测试:

#include<opencv2/opencv.hpp>

#include<iostream>

using namespace std;

using namespace cv;

int main()

{

	Mat srcImg = imread("girl.jpg");

	if (srcImg.empty())

	{

		cout << "could not load image...\n" << endl;

	}

	namedWindow("Original image", CV_WINDOW_AUTOSIZE);

	imshow("Original image", srcImg);

	waitKey(0);

	return 0;

}


测试结果:


获取例子所用的图片可以关注微信OpenCV图像处理算法获得,里面也会写我学习图像处理历程的知识和例子,欢迎大佬来交流!!!

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表