听说有一半的人学习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图像处理算法获得,里面也会写我学习图像处理历程的知识和例子,欢迎大佬来交流!!!
本文暂时没有评论,来添加一个吧(●'◡'●)