问题标签 [opencv-features2d]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
944 浏览

c++ - 对 `cv::DescriptorMatcher::knnMatch 的未定义引用

我正在尝试在 android studio 项目中使用 opencv 本机库。我收到函数 knnMatch 的未定义引用错误。

我已将 openCVLibrary 添加到我的项目中,并成功使用了其他 openCV 功能。

  1. 是否有特定的原因使用 libopencv_features2d?
  2. 编译和链接 features2d 的正确方法是什么?

更新:添加我的编译文件

我的应用程序 build.gradle :

我的 CMakeList.txt :

在我的jniLibs -> arm64-v8a我有那些 cv 库:

libopencv_calib3d.a、libopencv_core.a、libopencv_dnn.a、libopencv_features2d.a libopencv_flann.a、libopencv_highgui.a、libopencv_imgcodecs.a、libopencv_imgproc.a、libopencv_java3.so、libopencv_ml.a、libopencv_objdetect.a、libopencv_photo.a、libopencv_shape.a libopencv_stitching.a、libopencv_superres.a、libopencv_video.a、libopencv_videoio.a、libopencv_videostab.a

正如我所说,其他 cv 功能也cv::solvePnP可以正常工作。只KnnMatch抛出未定义的。

更新:如果我删除 -DANDROID_STL=c++_shared我可以编译knnMatch但我需要它,有什么建议吗?

0 投票
1 回答
826 浏览

javascript - OpenCV.js,使用 ORB 和 features2d 构建

我正在尝试构建一个简单的 web/js 应用程序来检测相机上的图像。我已经使用 OpenCV 在 iOS 和 Android 上完成了这项工作,所以我的明显选择是使用 OpenCV.js(最新版本)。

我按照教程https://docs.opencv.org/3.4.1/d4/da1/tutorial_js_setup.html构建了 opencv.js,并创建了简单的应用程序,将色彩空间从相机更改为灰度并将其显示在画布上。

但是我不知道如何使用 ORB,或者它只是不包含在 opencv.js 构建中。当我尝试执行以下操作时:let orb = new cv.ORB()我得到了

cv.ORB 不是构造函数

我还尝试以不同的方式使用它,例如在 python 中cv.ORB_create,但结果相同。没有关于 docs.opencv 的教程。我不确定它是应该以不同的方式分配还是在构建中丢失。

我在 opencv/platforms/js/build_js.py 中启用了这些选项:

但没有任何效果。当我分析来自构建的日志时,我没有找到来自 features2d 的日志

[ 33%] 构建 CXX 对象模块/核心/CMakeFiles/****

也许这就是问题所在。但是我已经启用了所有必需的选项 - 谁能告诉我我还能做错什么?

0 投票
1 回答
298 浏览

java - java opencv Features2d.drawMatches - 断言失败或 NullPointerException

我正在尝试使用 openCV java API 中的 Features2d.drawMatches 方法创建一个图像,描绘从 sift 文件生成的图像中的关键点之间的匹配。我似乎无法弄清楚该方法将采用哪种参数作为输出参数 - 我不断收到以下断言错误:

我的代码:

尽管下面的 empty() 检查为这两个 Mats 返回了不同的值,但无论我是否取消注释注释行,都会显示完全相同的断言错误。我不知所措,非常感谢您的帮助。

0 投票
1 回答
572 浏览

javascript - Opencv drawKeypoints

drawKeypoints 是免费功能吗?当我尝试使用它时会引发以下错误

我正在尝试写这个例子

https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_feature2d/py_orb/py_orb.html#orb

我已经按照这里的描述构建了 OpenCV Js

https://docs.opencv.org/3.4/d4/da1/tutorial_js_setup.html

然后将其附加到我的 HTML 中

这是我使用的功能

0 投票
1 回答
7314 浏览

opencv - SIFT & SURF : 设置 OPENCV_ENABLE_NONFREE CMake ==> 解决方案 OpenCV 3 & OpenCV 4

我尝试将 SIFT 和 SURF 函数与 OpenCV 3 和 openCV 4 的某些版本(在安装了 opencv-contrib-python 之后)一起使用:

我尝试版本 3.4.3 和 3.4.9 和 4.1.0,但有同样的问题:

但在 3.4.2 版本中,它工作正常。

那么如何让SIFT和SURF在不同版本的OpenCV中工作呢?谢谢你。

欢迎详细解释