2013-12-09 39 views
0

我是openCV的初學者。我使用Visual C++ 2010.使用2.1版exe應用程序。我嘗試了一個非常簡單的程序,但麻煩的是它只能成功構建一次。之後它顯示0成功建立; 0失敗; 1最新。我也可以得到任何輸出!有人可以告訴這是什麼意思,以及如何解決這個問題?OpenCV與Visual C++

這是基本的代碼 -

#include "stdafx.h" 

#include <cv.h>          
#include <highgui.h>         

int main(int argc,char* argv[])      
{ 

    IplImage* img = cvLoadImage("D:\photo\create.jpg");    


    cvNamedWindow("MyFirstWindow");     
    cvShowImage("MyFirstWindow", img);    

    cvWaitKey(0);         
    cvReleaseImage(&img);       
    cvDestroyWindow("MyFirstWindow");    
    return 0; 
} 

我剛安裝了它和IM開始使用OpenCV的!

+1

請顯示代碼以使用戶能夠提供有意義的反饋。 – scap3y

+0

你必須把代碼放在問題所在的位置! – Engine

+2

據我所見,這不是一個錯誤。正如它所說:0失敗,1是最新的。嘗試重建 - 或進行更改並再次嘗試編譯。 VS不會編譯,如果你還沒有做任何改變... – user1492780

回答

1

你們看到的是

==========生成:0成功,0失敗,1上最新,0已跳過======== ==

由於自第一次構建以來(即它是最新的),您沒有改變任何東西,因此VS不會嘗試再次構建它。

選擇從菜單重建強制VS重建你的代碼,如果你真的想。 如果你改變你的代碼VS將會使用Build來構建你的代碼。

+0

哦,明白了!謝謝 !還有一件事 !當我運行該程序時,它說exe文件沒有被發現在tht!我不知道爲什麼會發生這種情況! – user3082457

+0

提問新問題 – Bull

1
  1. 正如他人已經提到的,您的程序沒有錯誤。它沒有什麼新的編譯。

  2. 當您提供文件路徑時,您正在使用'\'符號。在C++中,這個符號被保留用於沒有符號表示的各種字符串部分。例如,\ n是'輸入'或\ t是'標籤'。因此它無法正確讀取路徑並且圖像未加載。您應該使用'\ \'或'/'來代替。一般情況下,當您從磁盤讀取圖像時,請務必在做任何事情之前驗證它是否已正確加載。

  3. 不要使用OpenCV 2.1。真的不要。使用其最新版本(2.4.7)。當OpenCV從版本1.0變爲2.0時(這是主要的概念變化),它引入了大量的錯誤。其中一部分固定在2.1,但仍然存在很多這些錯誤。後來的版本逐漸修復它們。

  4. 您正在使用的C接口正在消失,並且在不久的將來不會受到支持。使用OpenCV的C++接口(Mat代替IplImage *,imread代替cvLoadImage,等等)。

+0

好的非常感謝! – user3082457

+0

不客氣 –