使用发行版库时,OpenCV imread(filename)在调试模式下失败
c++
image-processing
opencv
5
0

我有一些C ++代码,并且除了功能imread(file)之外,其他一切都可以在OpenCV上正常工作。它正在正确查找文件并加载名称,但未加载任何数据。

Mat pattImage = imread(fileName, 0);

在网上重新搜索后,我意识到我处于调试模式,但是使用的是OpenCV库,而不是调试库。

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

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

谁能向我解释OpenCV中 调试库和发行库之间的区别以及为什么会发生此错误?

OpenCV错误吗?

参考资料:
Stack Overflow
收藏
评论
共 3 个回答
高赞 时间 活跃

在发布模式下,必须在调试模式下使用发布库-调试库。这不是错误。

收藏
评论

如果使用Qt(Qt Creator)出现了此问题,则链接相应库的调试版本即可解决该问题。这可以在项目配置文件(.pro)中自动完成:

QTCreator .pro文件:根据调试/释放设置LIBS路径

收藏
评论

我永远不会告诉人们Windows的C + + OpenCV接口有最严重的错误

使用C接口编写一个小型测试,以检查其是否正常工作( cvLoadImage()等)。

更新 :现在您知道C接口可以正常工作了,您可以转到邮件列表并在此处报告此错误,也可以自己深入研究代码以查找失败的原因。

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号