重用OpenCV 2.3.1捆绑图像拼接模块

时间:2011-09-20 21:53:39

标签: visual-studio-2010 opencv

我迷失在一个兔子洞里,请耐心等待。

我正在尝试使用2.3.1 Win superpack发行版中的OpenCV Stitching模块。我将/ modules / stitching中的所有源文件拖到Visual Studio项目中,尽可能地解析了Includes和Libs,并将其编译。*

我遇到的第一个奇怪的运行时错误是我无法使用imread()从磁盘读取JPG文件。它没有抛出错误,但对myImage.empty()返回true。我回到cvLoadImage(),然后就有效了。

现在,在那之后,出现了一个新的运行时错误:

  

MyStitcher.exe中0x00870d8f处的未处理异常:0xC0000005:访问冲突写入位置0x010e7000。

当尝试将features.keypoints的引用作为detector_->detect()参数传递时,会发生在/modules/stitching/matchers.cpp中。我假设detect()应该用它的结果填充关键点。 features似乎未初始化(断点处有612933850个空关键点)。现在这开始听起来像我正在尝试编译的源只是坏了,但预建的opencv_stitching.exe工作得很好。它是从不同来源编译的吗?

顺便说一下,我不知道如何使用CMake系统为OpenCV生成Visual Studio项目。 / modules / stitching文件夹中的CMakeLists.txt文件不起作用。它不应该被用作起点吗?


  

*关于此的一点说明:/ modules / stitching中的CMakeLists.txt指定了一些   libs命名为opencv_core,opencv_imgproc,opencv_highgui等(没有   版本指示)但OpenCV 2.3.1 Win32附带的库   superpack(我链接到的)名为opencv_core231.lib,   opencv_imgproc231.lib等。这是我正在使用的明确指示   拼接模块的二进制文件不匹配?

1 个答案:

答案 0 :(得分:1)

我在从OpenCV SVN构建最新版本后得到了这个工作。自231发布以来,拼接模块已经走过了漫长的道路。