【OpenCV】 opencv_contrib安装教程

【前言】

很重要!!!

最近学到特征点检测,当用SIFT检测器的时候,才知道需要一个叫【opencv_contrib】的包,而且opencv_contrib的版本还要和OpenCV的版本相同。网上的安装方法也是各式各样,让我眼花缭乱(你是不是也是不知所云?不怕,谁让你遇到了我,哈哈~~)。经过对各种方法的尝试,历经九九八十一难,最终我成功了(鼓掌!)。根据我的理解,它的大致方法就是(快快竖起耳朵哦):用CMake对OpenCV进行编译,得到新的文件(Mybuild), Mybuild包含了原来OpenCV里面build的内容,然后把之前在配置环境变量以及在VS中配置OpenCV的包含目录、库目录、附加依赖的路径改成Mybuild里面对应的位置即可(以上仅代表个人拙见)。


搭建环境

  • 软件版本:opencv_contrib-4.1.1、cmake-3.16.0、OpenCV-4.1.1、Visual Studio 2015
  • 操作系统:Win10

关于仅仅OpenCV的安装请看这篇:【OpenCV】 OpenCV-4.1.1 + Visual Studio 2015 安装教程

1、准备工作

下载 OpenCV 和 opencv_contrib 的时候要注意版本匹配。

1.1 下载opencv_contrib-4.1.1

地址:https://github.com/opencv/opencv_contrib

选择你自己OpenCV对应的opencv_contrib版本并下载。

1.2 下载CMake

地址:https://cmake.org/download/

2、 编译OpenCV

2.1 打开CMake

解压cmake-3.16.0-rc1-win64-x64并启动CMake。

启动器在文件夹:cmake-3.16.0-rc1-win64-x64\bin\cmake-gui.exe

2.2

2.2.1 source code:  OpenCV解压包里面【sources 】的路径

build the binaries:  (在OpenCV解压包里面新建文件夹,命名为:Mybuild) 【Mybuild 】的路径。

2.2.2 然后点击【Configure】按钮。第一次运行完毕,下方进度栏出现红色文字,就是有错误出现,我就第二次点击【Configure】,结果红色字体没有了。

2.2.3 当下方框里没有了红色字体,点击【Generate】。直到下方出现Configuring done / Generating done,此时说明OpenCV基本库编译完成。

3、编译opencv_contrib

3.1 在【Seach】对话框中输入【OPENCV_EXTRA_MODULES_PATH】,找到OPENCV_EXTRA_MODULES_PATH后,在value中填入编译opencv_contrib解压目录中的modules路径(注意:此处路径的反斜杠\要改成正斜杠/,反斜杠\有转义字符的意思)。目录错误则会出现Error in configuration process, project files may be invalid弹窗错误提醒。

3.2 在搜索栏中输入【OPENCV_ENABLE_NONFREE】,在【Value】值中点击选中。如果没有选中,那么类似SIFT这种已经被申请专利的方法就无法使用。然后点击【Configure】。

在下方出现【Configuring done】之后,点击【Generate】

4、visual studio编译

4.1 在E:\Installation package\opencv-4.1.1-vc14_vc15\Mybuild 文件夹中找到【OpenCV.sln】打开。

4.2 选择【生成】-【批生成】

 

5、配置opencv环境

注意:以下添加的的路径均为 Mybuile/install 文件夹中的内容

5.1【此电脑】-【属性】-【高级系统设置】-【环境变量】-【系统变量】

在【Path】里面添加:E:\Installation package\opencv-4.1.1-vc14_vc15\Mybuild\install\x64\vc14\bin

如果 visual studio 在修改环境变量之前就打开了,需要重启visual studio。

5.2 配置包含目录

5.2.1 【视图】—【属性管理器】—下方出现一个【属性管理器】

5.2.2 【属性管理器】—【Debug|Win64】—【Microsoft.Cpp.x64.user】(右键)—【属性】—【通用属性】—【VC++目录】—【包含目录】—【编辑】—添加2个目录

路径为:

E:\Installation package\opencv-4.1.1-vc14_vc15\Mybuild\install\include

E:\Installation package\opencv-4.1.1-vc14_vc15\Mybuild\install\include\opencv2

5.3 配置库目录

5.3.1 接着上步,在【通用属性】—【VC++目录】—【库目录】

编辑并添加路径。

路径为:E:\Installation package\opencv-4.1.1-vc14_vc15\Mybuild\install\x64\vc14\lib

5.4 配置链接库

5.4.1 接着上步,在【通用属性】—【链接器】—【输入】—【附加的依赖项】,添加文件路径在.lib文件夹内(E:\Installation package\opencv-4.1.1-vc14_vc15\Mybuild\install\x64\vc14\lib)。找到以下三个文件名:

opencv_world411d.lib

opencv_xfeatures2d411d.lib

opencv_features2d411d.lib

带【d】对应 【Debug  x64】位版本。

6、SIFT测试

6.1 测试代码

#include "opencv2/opencv.hpp" 

#include"opencv2/xfeatures2d.hpp"

using namespace cv;

using namespace std;

int main() 
{

    Mat img = imread("C:\\Users\\Lenovo-Gu\\Desktop\\sucai\\car.jpg");

    Ptr<Feature2D> sift = xfeatures2d::SIFT::create();

    vector<KeyPoint> keypoints;

    Mat descriptors;

    sift->detectAndCompute(img, noArray(), keypoints, descriptors);

    drawKeypoints(img, keypoints, descriptors, cv::Scalar::all(-1));

    imshow("Result", descriptors);

    waitKey(0);

    return 0;

}

6.2 测试结果

 

参考链接:https://blog.csdn.net/weijifen000/article/details/93377143

https://blog.csdn.net/ezhchai/article/details/80557936

 

You got things to do. Places to go. People to see. Futures to make.

我们还有事要做,有地儿要去,有人要见,有梦要实现。

  • 14
    点赞
  • 105
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值