MS Visual Studio 2012和OpenCV 2.4.5 - 不显示图像

时间:2014-02-01 21:08:21

标签: c++ image opencv visual-studio-2012

我正在使用MS Visual Studio 2012和OpenCV 2.4.5。我试着运行以下代码。我是

首次使用OpenCV。我从互联网上得到了这段代码。我只想

检查我的笔记本电脑上的OpenCV是否正常工作。

作为输出,会弹出一个窗口(灰色空白窗口),但图像不是

显示在其中。你能指出我哪里出错吗?

#include "stdafx.h"

#include "opencv/cv.h"    

#include "opencv2/highgui/highgui.hpp" 

int main(int argc, char** argv)
{

    IplImage* img = cvLoadImage( "image.jpg" ); 

    cvNamedWindow( "Example1", CV_WINDOW_AUTOSIZE );

    cvShowImage("Example1", img);

    cvWaitKey(0);

    cvReleaseImage( &img );

    cvDestroyWindow( "Example1" );

    return 0;
}

1 个答案:

答案 0 :(得分:1)

显然,它找不到你的形象。

尝试绝对路径而不是

旁注:

你正在尝试使用过时的c-api。它只是出于维护/便携性原因而被保留,

你不应该开发这样的新代码!

你不应该开发这样的新代码!

你不应该开发这样的新代码!

(那是否足够清楚?)

改为使用c ++ api:

#include "opencv2/core/core.hpp"    
#include "opencv2/highgui/highgui.hpp" 

int main(int argc, char** argv)
{

    cv::namedWindow( "Example1", CV_WINDOW_AUTOSIZE );
    cv::Mat img = cv::imread( "d:/some/dir/some.png" ); 
    if ( img. empty() )  // only idiots *don't check*  resource loading ...
        return -1; 

    cv::imshow("Example1", img);
    cv::waitKey(0);

    // no cleanup required with c++ ..
    return 0;
}