使用发布库时,OpenCV imread(filename) 在调试模式下失败

新手上路,请多包涵

我有一些 C++ 代码,除了函数 imread(file) 之外, OpenCV 一切正常。它正确地找到了文件并加载了名称,但没有加载任何数据。

 Mat pattImage = imread(fileName, 0);

在网上进行了一些研究后,我意识到我处于调试模式,但使用的是发布版 OpenCV 库,而不是调试库。

 debug library:    opencv_core231d.lib
release library:  opencv_core231.lib

虽然这是典型的愚蠢错误,但我认为这不应该做任何事情,调试库应该允许 OpenCV 代码调试,而发布库允许更快地执行代码,但我不明白为什么 imread 失败。

谁能解释一下 OpenCV调试 库和 发布 库之间的区别以及为什么会发生此错误?

它是一个 OpenCV 错误吗?

原文由 Jav_Rock 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 472
1 个回答

我永远不会厌倦告诉人们 Windows 的 C++ OpenCV 接口有最奇怪的错误

使用 C 接口编写一个小测试来检查它是否工作( cvLoadImage() 等)。

更新:既然您知道 C 接口可以正常工作,您可以前往邮件列表并在那里报告此错误,或者自己深入代码以找出失败的原因。

原文由 karlphillip 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题