我正在使用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;
}
答案 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;
}