在opencv 3.1中运行示例代码时出现未处理的异常

Unhandled exception when running sample code in opencv 3.1

本文关键字:未处理 异常 代码 opencv 运行      更新时间:2023-10-16

我正试图从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的示例代码时,它成功地构建并运行了。

我正在使用视觉工作室2015。示例代码随opencv 3.1一起出现在以下目录中:C:opencvsourcessamplescpp

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

编辑1:stitching_detailed.cpp代码的链接在这里。当我尝试运行它时,它指向这里代码的以下部分的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 
ldslave64win64 amdoc1master PackS1ave-win64-vc14-sharedopencvmodu1esstitchi 
ngsrcmatchers . cpp, line 361 

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

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

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