我正在尝试使用imreadOpenCV2.2中的函数.
我的代码非常简单.
cv::Mat host= imread("1.bmp", CV_LOAD_IMAGE_GRAYSCALE);
Run Code Online (Sandbox Code Playgroud)
之后,主机矩阵被零指针填充,即图像未加载.
如果我使用cvLoadImage那么一切正常.
该文件存在,我没有混合发布和调试库.为什么imread不起作用?
我有一些C++代码,除了函数之外,OpenCV的一切都运行良好imread(file).它正确找到文件并加载名称,但它没有加载任何数据.
Mat pattImage = imread(fileName, 0);
Run Code Online (Sandbox Code Playgroud)
在网上进行了一些研究后,我意识到我处于调试模式,但是发布了OpenCV库,而不是调试版.
debug library: opencv_core231d.lib
release library: opencv_core231.lib
Run Code Online (Sandbox Code Playgroud)
虽然这是一个典型的愚蠢错误,我认为这不应该做任何事情,调试库应该允许OpenCV代码调试,而发布库允许更快地执行代码,但我不明白为什么imread失败.
谁能解释一下OpenCV中调试和发布库之间的区别以及为什么会出现这个错误?
它是OpenCV的错误吗?