C++ OPENCV无法在调试模式下打开我的映像

C++ OPENCV无法在调试模式下打开我的映像,c++,windows,visual-studio-2010,opencv,C++,Windows,Visual Studio 2010,Opencv,我在VC2010中使用opencv,我对它非常熟悉 我今天安装了OPENCV 2.4.5,并尝试显示一个图像以测试我的OPENCV是否工作 令人惊讶的是,这段代码在发布模式下显示图像,但当我将编译器模式更改为调试时,opencv找不到图像,并且图像数据返回null #include <iostream> #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp>

我在VC2010中使用opencv,我对它非常熟悉

我今天安装了OPENCV 2.4.5,并尝试显示一个图像以测试我的OPENCV是否工作

令人惊讶的是,这段代码在发布模式下显示图像,但当我将编译器模式更改为调试时,opencv找不到图像,并且图像数据返回null

#include <iostream>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
  int main()
 {  
    cv::RNG rng;
    cv::Mat image = cv::imread("1.jpg",-1);
    cv::imshow("Image",image);
    cv::waitKey(0);
return 0;
  }
我确信在发布模式下代码可以正常工作,所以路径、映像名和所有内容都可以正常工作,但我不知道为什么它不能在调试模式下工作

我也给了绝对路径作为输入,它也不工作!!但同样,绝对路径在发布模式下起作用


值得一提的是,我还在opencv的32位和64位库上测试了我的项目,问题没有改变

opencv库的调试版本可能是在不支持“jpg”图像的情况下编译的。另外,请参见

在链接库时,请确保没有混淆OpenCV的发行版和调试库。调试库在最后被删除。此外,请确保您使用的库名称正确,并且基于您拥有的opencv版本,例如opencv_calib3d245d.lib


opencv库的调试版本可能是在不支持“jpg”图像的情况下编译的。另外,请参见

在链接库时,请确保没有混淆OpenCV的发行版和调试库。调试库在最后被删除。此外,请确保您使用的库名称正确,并且基于您拥有的opencv版本,例如opencv_calib3d245d.lib


如果调试可执行文件构建在与发布可执行文件不同的位置,则需要将映像文件复制到调试版本的目录中。或者将绝对路径传递到
imread
@Aurelius I tested absolute path,但它也不起作用……如果调试可执行文件构建在与发布可执行文件不同的位置,则需要将映像文件复制到调试版本的目录中。要么这样,要么将绝对路径传递给
imread
@Aurelius我测试了绝对路径,但它也不起作用……你是说调试版本?因为我对release Version没有问题,我知道debug和release lib在d中有所不同,但在“linker”设置中添加“C:\opencv\build\x64\vc10\lib*.lib”是我的错,这使得VC2010可以使用此文件夹中的所有lib,我认为这导致了问题!但无论如何谢谢你是说调试版?因为我对release Version没有问题,我知道debug和release lib在d中有所不同,但在“linker”设置中添加“C:\opencv\build\x64\vc10\lib*.lib”是我的错,这使得VC2010可以使用此文件夹中的所有lib,我认为这导致了问题!不过还是谢谢你
OpenCV Error: Bad flag (parameter or structure field) (Unrecognized or unsupport
ed array type) in unknown function, file ..\..\..\src\opencv\modules\core\src\ar
ray.cpp, line 2482