【发布时间】:2012-02-02 04:00:03
【问题描述】:
我无法在向量中获取 OpenCV 中的类/结构并使函数保持活动状态而没有任何堆损坏。每当我打开原生 OpenCV 对象的向量时,垃圾回收期间就会出现可怕的 _crtIsValidHeapPointer 错误。
上下文:尝试使用 ORB 比较对象和场景图像中的匹配点。在 C++ 中使用 OpenCV 2.3.1。
代码示例:
vector< KeyPoint > objImageKeypoints;
Mat objImageDescriptors;
OrbFeatureDetector detector = orbFeatureDetector( 1000 );
detector.detect( objImage, objImageKeypoints );
... // There's more, but I've commented out the rest
}
在我通过了 detect() 方法之后,就没有回头路了。之后,它仍然会给我带来麻烦。
一旦我到达函数的末尾,系统就会崩溃。我是否遗漏了什么,或者我是否使用向量犯了 OpenCV 的一些主要罪行?
【问题讨论】:
-
我将 IDE 从 VS11 切换到 10 Express,这似乎解决了问题。我将把这归咎于 OpenCV 臭名昭著的糟糕设置,但我会留下这个问题,以防有更好的答案。
-
我在vs2008中编译了我的opencv源,出现同样的错误如何解决?请帮助
-
看到这个问题[问题]:stackoverflow.com/questions/30787348/…也许这就是你的问题
-
All Configuratins -> General -> Platform Toolset -> Visual Studio 2010 (v100)为我解决了问题。
标签: c++ visual-studio opencv