我正在尝试在opencv中以mat格式读取图像并显示它。 代码编译正常但运行时发出运行时错误并且不显示图像。 这是我的代码:
#include "stdafx.h"
#include<cv.h>
#include<highgui.h>
#include<iostream>
using namespace cv;
using namespace std;
void main()
{
Mat Img;
Img=imread("C:/Documents and Settings/image1.jpg");
cvNamedWindow("Image",CV_WINDOW_AUTOSIZE);
imshow( "Image", Img );
cvWaitKey(0);
}
有谁能告诉我哪里出错了?
答案 0 :(得分:0)
很可能imread()
失败了。除非您开始检查函数是否成功,否则您将确切知道,这在编码时非常重要。
有几个原因导致它失败:
在你的情况下,它可能是第一个。所以将代码更改为:
Mat Img;
Img = imread("C:\\Documents and Settings\\image1.jpg");
if (Img.empty()) {
std::cout << "!!! Failed to open the file\n";
return;
}
并注意文件的路径是如何不同的。