2012-07-18 69 views
1

我最近在Visual Studio 2010中設置了openCV 2.3.1。我使用cmake設置它並設法運行簡單的'hello world'代碼,如下所示:OpenCV hello world程序在Visual C++中未處理的異常

  #include "stdafx.h" 

      #include <opencv2/opencv.hpp> 
      #include <cxcore.h> 
      #include <highgui.h> 

      int _tmain(int argc, _TCHAR* argv[]) 
      { 
       IplImage *img = cvLoadImage("funny-pictures-cat-goes-pew.jpg"); 
       cvNamedWindow("Image:",1); 
       cvShowImage("Image:",img); 

       cvWaitKey(); 
       cvDestroyWindow("Image:"); 
       cvReleaseImage(&img); 

       return 0; 
      } 

該代碼能夠第一次運行,雖然它顯示的是灰色圖像而不是貓。當我試圖看到錯誤,它開始給出以下錯誤; 未處理的異常在某個內存位置...:[由於信譽點低,無法上傳圖片,但我希望你能理解我的問題描述...

問候, Ruzzar

+0

您是否在調試模式下運行代碼?圖像是否正確加載?如果變量設置正確,你應該檢查img對象。 – SinisterMJ 2012-07-18 12:14:07

+0

我一直在調試模式下運行代碼(即使是現在),它顯示了一個灰色背景的窗口,那裏沒有圖片。從那裏它開始提供異常錯誤,並且不能再做任何其他的事情...... – Ruzzar 2012-07-18 12:36:26

+0

好吧,現在我已經用cv.h去掉了頭文件opencv2/opencv.hpp。它不會再給出異常錯誤,但是直到顯示一個帶有灰色背景的窗口(仍然沒有圖片)... – Ruzzar 2012-07-18 12:50:59

回答

1

可否請您重新檢查了* IMG被正確填寫?

我只是測試這一點,與單一的變化,我的圖片的路徑是絕對的(IplImage *img = cvLoadImage("D:\\Development\\TestProjects\\OpenCVTest\\funny-pictures-cat-goes-pew.jpg");),除此之外它是一樣的,它在我的系統上工作得非常好,在這裏

OpenCV的2.4.2使用,從 http://i288.photobucket.com/albums/ll169/critterclaw101/funny/funny-pictures-cat-goes-pew.jpg

編輯圖片:用設置錯誤路徑進行測試時,我得到一個灰度圖像,因此我敢肯定,你的代碼無法找到圖像。