vs2015 opencv3.4.0配置opencv-contrib3.4.0

opencv3将opencv2单一的库分成了两个部分:成熟的Opencv库以及opencv-contrib库,成熟的库相较容易安装可以查看本人上一篇博客,这篇博客主要介绍opencv-contrib库的安装,我这里安装的64位的。

(1)首先下载opencv-contrib并与opencv放在同一个目录并且解压,然后我们创建一个在opencv同一个目录创建一个新的文件夹我取得名字叫myopencv用于存放编译的文件:这里我推荐一个github相关contib库的网址:

https://github.com/opencv/opencv_contrib/releases

根据自己的版本下载对应的版本的opencv-contrib库,我使用的是3.4.0。

(2)从网上下载cmke编译器,这里我推荐一个网址:https://cmake.org/download/

(3)在下载cmke目录下找到bin目录下的cmake-gui并且以管理员身份运行(这里是确保能够有足够的权限访问特殊的文件),此时有两个框,上面一个框输入的是opencv目录(在本博客中,opencv目录指的是我们已经成功安装的那个opencv的目录,跟contrib库无关)下的sources目录也就是需要编译的目录,线面一个文本框输入的是编译文件存放的目录,也就是第一步创建的目录。

(4)选中如图所示的,点击configure按钮,此时会让我们选择编译工具以及位数,这里注意这个32位和64为最好要之前成功配置的opencv的位数一致,我的是Visual visual studio 14 2015,然后确认,然后点击finish按钮,等待configure done。

(5)在图中vs2015 opencv3.4.0配置opencv-contrib3.4.0_第1张图片找到OPENCV_EXTRA_MODULES_PATH在右侧编辑输入已经解压好的contrib库目录下面的modules文件路径,并且将在上面窗口中找到WITH_CUDA将右侧的勾去掉,然后再次点击configure,等待窗口出现configure done。

(6)点击generate,等待出现generate done.

(7)在vs中打开项目解决方案,路径就是第一步创建的myopencv目录之下有一个Opencv.sln,文件选中并且确认,导入该解决方案。

(8)选中该解决方案鼠标右键--》重新生成解决方案,在重新生成解决方案成功之后我们在该解决方案下面找到CMake Targets目录下的install文件,然后鼠标右键--》仅用于项目-》仅重新生成等待操作成功。

(9)接下来我们需要配置环境变量,新增一个系统变量,变量名字为OPENCV值为#myopencv/install。

然后在用户变量path新增一个值#myopencv/install/x64/vc14/bin。

(10)打开vs2015,新建一个工程并在属性管理器下面找到Debug|x64 cpp.x64.user鼠标右键--》属性--》vc++目录--》包含目录里面增加#myopencv/install/include,#myopencv/install/include/opencv,#myopencv/install/include/opencv2三条记录

(11)在vc++目录--》库目录里面增加myopencv\install\x64\vc14\lib记录

(12)在连接器--》输入--》附加依赖项添加记录(#\myopencv\install\x86\vc14\lib文件夹里面的lib文件)

最后用于测试的代码:

#include "stdafx.h"
#include "opencv2/opencv.hpp"
#include
#include
using namespace std;
using namespace cv;

void main()
{
    Mat srcImg1 = imread("C://Users//JoeKing//Documents//Visual Studio 2015//Projects//feature_mapping//feature_mapping//images//img1.jpg");
    Mat srcImg2 = imread("C://Users//JoeKing//Documents//Visual Studio 2015//Projects//feature_mapping//feature_mapping//images//img2.jpg");
    vector keypoints_1, keypoints_2;
    Ptr f2d = xfeatures2d::SIFT::create();
    //detect Keypoints
    f2d->detect(srcImg1,keypoints_1);
    f2d->detect(srcImg2, keypoints_2);
    // caculate descriptors
    Mat descriptors1, descriptors2;
    f2d->compute(srcImg1,keypoints_1,descriptors1);
    f2d->compute(srcImg2, keypoints_2, descriptors2);
    //Matching descriptors
    BFMatcher matcher;
    vector matches;
    matcher.match(descriptors1, descriptors2, matches);
    //绘制图
    Mat img_matches;
    drawMatches(srcImg1, keypoints_1, srcImg2, keypoints_2, matches, img_matches);
    imshow("【特征点匹配图", img_matches);

waitKey(0);
}

在这段程序中需要修改的是图片的位置,换成测试对应的图片位置,如果程序能够正常运行,则表示opecv_contrib库已经安装配置成功。

你可能感兴趣的:(vs2015 opencv3.4.0配置opencv-contrib3.4.0)