我在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与我的电脑不兼容?提前谢谢。
答案 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
然后在被问到时重新启动。
欢呼声