2016-04-02 65 views
-3

我正在訓練出tutorial in opencvOpencv:沒有錯誤的代碼,但攝像頭沒有在結果中顯示

編譯時沒有錯誤。

我知道本教程的代碼是針對opencv2.4的,我已經更改了cvquery和videoframe的編碼。

我的輸出是這樣的

我的攝像頭工作正常,但沒有顯示任何結果。

+0

的陳述「這是我的代碼」和「我不得不改變編碼」似乎相互矛盾。 –

+0

對不起,起初我打算附上我的代碼,但它一直出現錯誤。感謝告知我矛盾的消息。我真的想要解決這個問題 –

+0

如果你直接在這裏附加問題,把它放在[pastebin](http://pastebin.com/)或類似的網站,並添加一個鏈接。 –

回答

0

如果你想使用HaarCascades進行人臉檢測,你可以使用此代碼:

#include <opencv2/objdetect/objdetect.hpp> 
    #include <opencv2/highgui/highgui.hpp> 
    #include <opencv2/imgproc/imgproc.hpp> 
    #include <iostream> 
    #include <stdio.h> 
    using namespace std; 
    using namespace cv; 
    CascadeClassifier facecascade; 

    int main() 
    { 
     Mat frame; 
     facecascade.load("haarcascade_frontalface_alt.xml"); 
     if(facecascade.empty()) 
     { 
     cout<<"Error"; 

     } 

     VideoCapture cap(0); 
     int i=0,j=0,k=0; 
     while(1) 
     { 
      cap>>frame; 
      Mat frame_gray; 
     cvtColor(frame,frame_gray,CV_BGR2GRAY); 
     vector<Rect>faces; 

     facecascade.detectMultiScale(frame_gray,faces,1.1,2,0|CV_HAAR_SCALE_IMAGE,Size(70,70)); 
     if(faces.size()>0) 
     { 

     for(i=0;i<faces.size();i++) 
      { 
      rectangle(frame_gray,faces[i],Scalar(200,200,250),2,8,0); 

      } 
     char no[5]; 
     sprintf(no,"No. of faces detected = %d",int(faces.size())); 
     putText(frame_gray,no,Point(10,30),FONT_HERSHEY_TRIPLEX,1,Scalar(255,255,255),1); 
      imshow("out",frame_gray); 
      char c= waitKey(5); 
      if(c=='b') 
      break; 
     } 
      return 0; 
     } 
+0

因爲我不知道你對OpenCV示例代碼做了什麼修改,所以我不能指出你可能做錯了什麼。嘗試處理我的代碼,看看你是否得到了結果 –

相關問題