无法在OpenCV,C ++ Visual Studio中读取图像

时间:2014-11-11 05:30:40

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

以下是代码。我不知道问题是什么。相同的代码在其他机器上完美运行。我已经多次重新安装Visual Studio 2012 for desktop,express edition,并且已经多次重新安装了OpenCV。

调试程序时,img始终为空。

我现在不知道,为了让这些代码在我当前的开发环境中工作,我可以做些什么WIZ:Windwos 8.1,OpenCV 2.4.9。

int main( int argc, const char** argv )
{
 Mat img = imread("My_Image.jpg",1); //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;
}

可能正在编译我自己的OpenCV,然后使用调试符号,我可能会知道原因。

目前我无法确定问题所在:VS或OpenCV,但其他代码似乎与VS一起使用。

1 个答案:

答案 0 :(得分:0)

最初我在链接器输入中添加了所有* .lib文件。通过这样做,我无法阅读图像。

解决方法是在链接器输入中只添加3个文件。这些文件是 -

opencv_core249d.lib

opencv_highgui249d.lib

opencv_imgproc249d.lib

我仍然不知道为什么让所有.lib文件导致程序无法运行?