【问题标题】:OpenCV SURF crash after calling create()调用 create() 后 OpenCV SURF 崩溃
【发布时间】:2021-03-18 16:32:47
【问题描述】:

无法谷歌... OpenCV 版本 4.5.1 打电话时

   Ptr<cv::xfeatures2d::SURF> detector = cv::xfeatures2d::SURF::create();

应用程序崩溃。其他探测器 ORB、FAST、SIFT 工作正常。问题可能出在哪里?我发现一些关于这个的老话题通过调用 initModule_nonfree() 解决了,但它不包含在 4.5,1 版本中?

【问题讨论】:

  • 你是如何安装opencv的?您是否从源代码构建它?您使用的是 Linux 还是 Windows?
  • 您好,来自源代码,带有 contrib,在 windows 上,没有 CUDA。我只在 cmake 中编辑的是 EXTRA 路径,这就是我记得的全部内容,然后使用 Visual Studio 2019 构建。我可以使用所有库,所有东西,甚至 RUN 它,但是当在 surf 上调用 CREATE 时,它崩溃了。
  • 如果你有堆栈跟踪,你能把它粘贴到这里吗?
  • @Doch88 我已将其添加到起始帖子中
  • OMG.. 当我忘记使用 try catch 语法时,我真的很糟糕......非常感谢!正在修复 OpenCV(4.5.1-dev) C:\src\openCVcontrib\modules\xfeatures2d\src\surf.cpp:1029: error: (-213: The function/feature is not implemented) 该算法已获得专利并且在此配置中不包括在内;设置 OPENCV_ENABLE_NONFREE CMake 选项并在函数 'cv::xfeatures2d::SURF::create' 中重建库当然我没有检查 OPENCV_ENABLE_NONFREE ...

标签: opencv runtime-error surf


【解决方案1】:

通过重构解决了问题:

OPENCV_ENABLE_NONFREE = 检查

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-02
    • 2013-05-06
    • 2012-06-05
    • 1970-01-01
    • 2013-09-26
    • 2020-10-28
    • 2019-06-03
    • 1970-01-01
    相关资源
    最近更新 更多