【问题标题】:Unhandled exception when running sample code in opencv 3.1在 opencv 3.1 中运行示例代码时出现未处理的异常
【发布时间】:2016-03-31 22:29:51
【问题描述】:

我正在尝试从 opencv 3.1 运行一个名为stitching_detailed.cpp 的示例代码(顺便说一句,我可以成功构建stitching_detailed.cpp)。但是,它显示了以下错误:

Unhandled exception at 0x00007FFDE7011F28 in stitching_detailed.exe: Microsoft C++ exception: cv::Exception at memory location 0x000000935AF3B820.

但是当我从同一个文件夹运行另一个名为stitching.cpp 的示例代码时,它成功构建并运行。

我使用的是 Visual Studio 2015。示例代码随 opencv 3.1 一起在以下目录中:C:\opencv\sources\samples\cpp

其他人认为这是因为错误的环境变量路径或类似原因,但我相信我的路径没问题,因为其他示例代码运行良好。

编辑 1: 指向stitching_detailed.cpp 代码的链接是here。当我尝试运行它时,它指向here中以下代码部分的return Ptr<T>(new T());

Ptr<T> makePtr()
{
    return Ptr<T>(new T());
}

我是编码新手,希望这是我的设置问题,而不是假设代码经过良好测试和维护的问题。

编辑 2

当我在命令行中运行程序时,它显示了这个错误:

OpenCV Error: The function/feature is not implemented (OpenCV was built without 
SURF support) in cv: : detail: :SurfFeaturesFinder: :SurfFeaturesFinder, file C: \bui 
ldslave64\win64 amdoc1\master PackS1ave-win64-vc14-shared\opencv\modu1es\stitchi 
ng\src\matchers . cpp, line 361 

似乎对于这个 opencv 版本没有安装该功能(它在一个单独的 opencv_contrib 模块中)。会试试的。

【问题讨论】:

  • 我们大多数人并不真正熟悉stitching_detailed.cpp,因此您可能会考虑在您的问题中添加一些代码,以及在提出问题之前如何尝试调试它的一些详细信息
  • “我正在使用 Visual Studio 2015” - 这包括一个调试器,可以说是 Windows 平台上最好的(如果不是)之一。发现异常并在车轮脱落的那一刻检查您的周围环境可能至少会有所帮助。

标签: c++ opencv


【解决方案1】:

发生错误是因为我没有安装单独的 opencv_contrib 模块,该模块具有程序中使用的功能(SURF 功能检测)。使用 cmake 使用 opencv_contrib 模块编译 opencv 后,它运行没有错误。

有关更多详细信息,我按照通过此网站编译它的说明进行操作: https://putuyuwono.wordpress.com/2015/04/23/building-and-installing-opencv-3-0-on-windows-7-64-bit/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-01
    • 2017-04-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多