我正在尝试构建一个简单的 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 中启用了这些选项:
"-DBUILD_opencv_calib3d=On","-DBUILD_opencv_dnn=ON","-DBUILD_opencv_features2d=ON","-DBUILD_opencv_flann=On","-DBUILD_opencv_ml=On",
但没有任何效果。当我分析来自构建的日志时,我没有找到来自 features2d 的日志
[ 33%] 构建 CXX 对象模块/核心/CMakeFiles/****
也许这就是问题所在。但是我已经启用了所有必需的选项 - 谁能告诉我我还能做错什么?