cv :: Mat在Visual C ++ Express 2010中出错

时间:2012-01-05 13:35:49

标签: c++ opencv

我在64位计算机的Visual C ++ 2010 Express中使用opencv2.1和编码。我之前没有遇到任何问题,我可以使用其他代码,但是下面的简单代码会出错:

  

cvMatExample.exe中0x571365af(msvcr90d.dll)的未处理异常:   0xC0000005:访问冲突读取位置0x6d622e65。

#include "cvaux.h"
#include "highgui.h"
#include <stdio.h>

using namespace cv;
using namespace std;

int main(){

    Mat xxx;
    xxx= imread("frame.bmp",0);

    namedWindow("Result",CV_WINDOW_AUTOSIZE);
    imshow("Result", xxx);

    return 0;

}

那究竟问题出在哪里?或者是cv :: Mat与我的电脑不兼容?提前谢谢。

2 个答案:

答案 0 :(得分:1)

最好在可以的时候检查函数调用的返回:

xxx = imread("frame.bmp",0);

if (!xxx .data) 
{
    printf("Failed to load image\n");
    // deal with error
}

也许您的图片未被imread()加载。在Windows上通常使用双斜杠引用完整路径:C:\\folder\\another_folder\\img.jpg

答案 1 :(得分:1)

我有完全相同的问题。对我有用的是修复我的.Net安装:

http://www.microsoft.com/en-us/download/details.aspx?id=17718

然后在被问到时重新启动。

欢呼声