2019-12-21

作者: MrWang_ff3e | 来源:发表于2019-12-21 18:40 被阅读0次

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

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

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

1.新建工程

步骤:

(1)打开 VS ,选择文件 -> 新建 -> 项目。
(2)选择 Visual C++ -> Win32 -> Win32 控制台应用程序,填写名称和选择存储位置即可。
(3)在弹出的Win32 应用程序向导中,在附加选项中选择空项目,点击完成。

具体步骤如下图:

1.png 2.png 3.png

2. 打开属性管理器

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

4.png

3. 新建项目属性列表

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

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

5.png 6.png

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 添加到附加依赖项中(右键重命名,把它整个名字赋值进去就可以),点击应用 - >确定就可以了。

7.png 8.png 9.png 10.png

5. 环境测试

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

11.png 12.png

添加如下代码测试:

#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 同级目录下。

13.png

报错:错误 4 error LNK1112: 模块计算机类型“x64”与目标计算机类型“X86”冲突。
解决办法:在 Debug 下调出 配置管理器 -> 活动解决方案平台里选择新建 -> 选择 x64 ,在重新运行即可。

14.png 15.png 16.png

测试结果:

17.png

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

按照之前的步骤新建一个 test2 的项目,这次不用再配置 OpenCV 了,直接找到上次配置好的添加就可以了。
步骤:
(1)鼠标右键 Debud | Win32 -> 添加现有属性表。找到上次配置好的 property.props 文件添加进来就可以了。

18.png

注意:
(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;
}

测试结果:

19.png

欢迎关注我的微信公众号“OpenCV图像处理算法”,主要是记录自己学习图像处理算法的历程,包括特征提取、目标跟踪、定位、机器学习和深度学习,每一个例子都会提供源码和例子所用的资料,欢迎同行的同学关注我和我一起虚度光阴吧!!!

相关文章

  • 2019-12-21遗愿清单

    2019-12-21遗愿清单

  • 2019-12-21我爱你

    2019-12-21我爱你

  • 2019-12-21张思倩分享【每天进步一点点】 爱。

  • 2019-12-21晚间日记

    2019-12-21晚间总结 今天是什么日子 起床:6:00左右 就寝:昨晚12:00左右(可怜(๑ó﹏ò๑)……...

  • 文先森的日常--LP107天

    日精进打卡第468天 姓名:李文杰 (四爷); 公司:中国太平人寿; 日期:2019-12-21 【知~学习】 《...

  • 2019-12-22

    2019-12-21 【日精进打卡第 637 天 【知~学习】 《六项精进》大纲 4 遍共 2404 遍 《大学》...

  • 2019-12-30

    菜菜_d868 字数 223 · 阅读 1 2019-12-21 20:25 姓名:邢彩颜 公司:三亚蔚蓝时代实业...

  • 公益项目管理培训

    2019-12-21 这次培训学习到很多很专业,很系统的公益系统知识,期待能学习到更多的技能和知识

  • 周末作业

    ❤️焦点·智慧父母课堂【肖丹分享第177天·运动第167天·读书第17天~2019-12-21】 又是周末,写作业...

  • 精读  作为意志和表象的世界2019-12-21

    标签 精读 作为意志和表象的世界 2019-12-21 > 01 第56节 419-423 重新概述一下意志表出为...

网友评论

    本文标题:2019-12-21

    本文链接:https://www.haomeiwen.com/subject/xiwgnctx.html