以mat形式显示图像

时间:2013-03-15 06:13:49

标签: opencv

我正在尝试在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);
}

有谁能告诉我哪里出错了?

1 个答案:

答案 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;
}

并注意文件的路径是如何不同的。