配置Opencv+vs2017

OpenCV 3.4.3+VS2017+Win10环境配置指南

Opencv+vs2017配置 ,记录一下。

下载安装 设置PATH

官网上的信息比较老,虽然坑,但也不是全错。起码下载、安装、设置PATH的部分还是正确的。

  1. 前往sourceforge页面,下载安装包。选择你需要的版本下载。
  2. 解压安装
  3. 设置环境变量

    • 设置一个环境变量OPENCV_DIR,之后如果OpenCV重装到了另一个位置,只要改这个OPENCV_DIR就可以了。

      打开命令行(管理员),运行命令setx -m OPENCV_DIR E:\OpenCV\Build\x64\vc14

    • 添加路径到PATH。

      在桌面的“此电脑”上右键,选择“属性”,在左边一栏中找到“高级系统设置”,名为“系统属性”的对话框中选择“高级”->最下面的“环境变量”。“环境变量”中,可以看到“系统变量”。找到名为“PATH”的变量,双击进入编辑界面,点“新建”,输入%OPENCV_DIR%\bin,之后一路保存退出。

VS2017设置

这个部分官网的教程似乎过时了(毕竟是为老版本写的tutorial),网上大多数教程都在教你如何进行全局设置(所有项目,包括没有用到OpenCV的项目配置都被修改了)。这里介绍我窃以为最优雅的方式:对单个项目进行设置。

  1. 新建一个Project

  2. 找到“属性管理器”(我的VS2017Pro在右边,和“解决方案管理器”在一起)。如果找不到,选择“视图”->最下面“属性管理器”

  3. 设置Debug属性

    在“属性管理器”中的Debug|x64中,新建一个property文件,不妨命名为OpenCV_Debug.props

    • C/C++->常规->附加包含目录$(OPENCV_DIR)\..\..\include

    • 链接器->常规->附加库目录 $(OPENCV_DIR)\lib

    • 链接器->输入->附加依赖项 opencv_world343d.lib;%(AdditionalDependencies)

      其中,343是版本号

    官网指南中,前两项是对的,最后一项不对。

  4. 设置Release属性

    将上一步生成的OpenCV_Debug.props拷贝,拷贝后的副本文件改名为OpenCV_Release.props

    • 在“属性管理器”的Release|x64中右键->“添加已有属性表”
    • 选择OpenCV_Release.props并添加
    • OpenCV_Release.props的设置中,将 链接器->输入->附加依赖项 的内容改为opencv_world343.lib;%(AdditionalDependencies) 比debug的配置要少一个“d”
  5. 保存,配置完成。今后,每当建立新的项目,只需拷贝此处生成的OpenCV_Debug.propsOpenCV_Release.props文件到新的项目中,再在新项目的“属性管理器”中添加这两个.props文件即可。

测试

测试OpenCV,官方教程的程序需要输入参数,不然会报错。我在网上随便找了个程序:

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

using namespace cv;

int main()
{
    Mat img = imread("test.jpg");
    namedWindow("sample");
    imshow("sample", img);
    waitKey(0);
}

找一个图片文件,放在VS的项目文件夹下(和代码位于同一目录),将代码中的test.jpg改为你的图片名称。选择Debug-x64,运行本地Windows调试器,不出意外即可顺利运行。

如果你对官方的测试代码情有独钟,那需要设置一下命令参数:

  • 解决方案管理器->右键->属性->调试->命令参数,输入“图片文件名.拓展名”(不带引号)
  • 选择Debug-x64,打开本地Windows调试器

附官方的测试代码

#include <opencv2/core.hpp>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main(int argc, char** argv)
{
    if (argc != 2)
    {
        cout << " Usage: display_image ImageToLoadAndDisplay" << endl;
        system("pause");
        return -1;
    }
    Mat image;
    image = imread(argv[1], IMREAD_COLOR); // Read the file
    if (image.empty()) // Check for invalid input
    {
        cout << "Could not open or find the image" << std::endl;
        system("pause");
        return -1;
    }
    namedWindow("Display window", WINDOW_AUTOSIZE); // Create a window for display.
    imshow("Display window", image); // Show our image inside it.
    waitKey(0); // Wait for a keystroke in the window
    return 0;
}
  •  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值