我有一些 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 许可协议
我永远不会厌倦告诉人们 Windows 的 C++ OpenCV 接口有最奇怪的错误。
使用 C 接口编写一个小测试来检查它是否工作(
cvLoadImage()
等)。更新:既然您知道 C 接口可以正常工作,您可以前往邮件列表并在那里报告此错误,或者自己深入代码以找出失败的原因。