【发布时间】:2012-02-25 21:41:15
【问题描述】:
我有一些 C++ 代码,除了函数 imread(file) 之外,所有的东西都可以在 OpenCV 上正常工作。它正确地找到了文件并加载了名称,但没有加载任何数据。
Mat pattImage = imread(fileName, 0);
在网上进行了一些研究后,我意识到我处于调试模式,但使用的是发布版 OpenCV 库,而不是调试库。
debug library: opencv_core231d.lib
release library: opencv_core231.lib
虽然这是典型的愚蠢错误,但我认为这不应该有任何关系,调试库应该允许 OpenCV 代码调试,而发布库允许更快地执行代码,但是我不明白为什么 imread 失败了。
谁能解释一下OpenCV中debug和release库的区别以及为什么会出现这个错误?
这是一个 OpenCV 错误吗?
【问题讨论】:
-
是的,它是 2.3.1。在 Windows 7 上,32 位
-
我永远不会厌倦告诉人们 OpenCV for Windows 有最奇怪的错误(当您使用 C++ 接口时)。帮自己一个忙,使用 C 接口编写一个小测试来检查它是否有效(
cvLoadImage()等)。 -
是的,使用 C 接口它确实可以工作,但我仍然想知道它为什么会失败,因为我认为它不应该失败。也许在未来的版本中他们会修复它。无论如何,我还是喜欢修复 opencv 问题...
-
转载于2.4.8版本。真的很奇怪... O_o 使用调试库工作正常。
标签: c++ opencv image-processing libraries