2014-04-21 154 views
0

我是初学者openCV。我dowloaded opencv2.4.5和visual studio express 2012然后我跟着这个链接http://opencv-srf.blogspot.in/2013/05/installing-configuring-opencv-with-vs.html设置一切环境变量等然后我下面链接http://opencv-srf.blogspot.in/2013/06/load-display-image.html创建示例应用程序。我包含了正确的#include路径。但我得到错误。错误:标识符“img”未定义

#include "stdafx.h" 

#include <C:\opencv\build\include\opencv\cv.h> 
#include <C:\opencv\build\include\opencv\cxcore.h> 
#include <C:\opencv\build\include\opencv\highgui.h> 

#include "C:\opencv\build\include\opencv2\highgui\highgui.hpp" 
#include <iostream> 

using namespace cv; 
using namespace std; 

int main(int argc, const char** argv) 
{ 
    Mat img = imread("MyPic.JPG", CV_LOAD_IMAGE_UNCHANGED); //read the image data in the file "MyPic.JPG" and store it in 'img' 

    if (img.empty()) //check whether the image is loaded or not 
    { 
      cout << "Error : Image cannot be loaded..!!" << endl; 
      //system("pause"); //wait for a key press 
      return -1; 
    } 

    namedWindow("MyWindow", CV_WINDOW_AUTOSIZE); //create a window with the name "MyWindow" 
    imshow("MyWindow", img); //display the image which is stored in the 'img' in the "MyWindow" window 

    waitKey(0); //wait infinite time for a keypress 

    destroyWindow("MyWindow"); //destroy the window with the name, "MyWindow" 

    return 0; 
} 
+0

哪一行导致错误? –

回答

1

请不要使用绝对路径,包括,这是完全不可移植。

它应该是这样的:

// the usual suspects: 
#include "opencv2\core\core.hpp"  // Mat is defined here. 
#include "opencv2\imgproc\imgproc.hpp" 
#include "opencv2\highgui\highgui.hpp" 

此外,为了使这项工作,你的“附加包含文件夹”应指向“的OpenCV /建设/包括”

,避免老C- api头文件,如cv.h,highgui.h,cxcore.h

+0

我得到不能开源文件“opencv2 \ core \ core.hpp”所有这些包括行..在“额外的包括文件夹”我用下面行$(OPENCV_DIR)\包括 – user3496826

+0

所以去检查$(OPENCV_DIR)指向正确的地方。甚至可能是错误的。该文件应该在“opencv/build/include” – berak

+0

我不明白。在哪里检查? – user3496826

相关问题