如何在 OPENCV 3.x C++ Visual Studio 2015 中声明 BruteForceMatcher

Posted

技术标签:

【中文标题】如何在 OPENCV 3.x C++ Visual Studio 2015 中声明 BruteForceMatcher【英文标题】:How to declare BruteForceMatcher in OPENCV 3.x C++ Visual Studio 2015 【发布时间】:2017-03-18 17:32:08 【问题描述】:

我正在使用 Open CV 3.2 并在 Visual Studio 2015 平台上工作。

在 this tutorial 他们使用 BruteForceMatcher。

基于this answer,我知道使用opencv 2.x 和3.x 有几个不同。

那么,有什么改变的建议吗

BruteForceMatcher<L2<float> > matcher;
vector<DMatch> matches;
matcher.match(descriptors1, descriptors2, matches);

进入 Open CV 3.x 形式?

【问题讨论】:

【参考方案1】:

你可以试试下面的代码

Ptr<cv::DescriptorMatcher> matcher(new cv::BFMatcher(cv::NORM_HAMMING, true));
vector<DMatch> matches;
matcher->match(descriptors1, descriptors2, matches);

【讨论】:

以上是关于如何在 OPENCV 3.x C++ Visual Studio 2015 中声明 BruteForceMatcher的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Visual c++ 中处理 SEHException?

为 Visual C++ 9.0 编译 OpenCV

如何在 C++ 中的 OpenCV 3.0.0、Visual Studio 2013 中检测关键点、计算描述符并匹配这些描述符?

如何在 Visual C++ 2010 或 2008 中使用 OpenCV 2.1 访问 ip camera (compro IP50W)

Microsoft Visual Studio C++、OpenCV 动画

Visual c++ 6.0配置OpenCV开发环境