以下是代码。我不知道问题是什么。相同的代码在其他机器上完美运行。我已经多次重新安装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一起使用。
答案 0 :(得分:0)
最初我在链接器输入中添加了所有* .lib文件。通过这样做,我无法阅读图像。
解决方法是在链接器输入中只添加3个文件。这些文件是 -
opencv_core249d.lib
opencv_highgui249d.lib
opencv_imgproc249d.lib
我仍然不知道为什么让所有.lib文件导致程序无法运行?