2016-04-02 5 views
-3

Ich trainiere die tutorial in opencv aus.OpenCV: Kein Fehler im Code, aber Webcam zeigt nicht in Folge

es hatte keinen Fehler beim Kompilieren.

Ich weiß, dass der Code für das Tutorial für opencv2.4 ist, und ich hatte die Codierung für cvquery und VideoFrame® ändern.

Meine Ausgabe ist wie dieser

.

Meine Webcam funktioniert gut, aber es nicht in meinem Ergebnis zeigt nichts.

+0

Die Aussagen „Dies ist mein Code“ und „Ich hatte die Codierung ändern“ scheinen sich zu widersprechen. –

+0

Entschuldigung, zuerst plane ich meinen Code anzuhängen, aber es kommt immer wieder mit Fehler raus. Danke, dass du mir die widersprüchliche Nachricht mitgeteilt hast. Ich möchte wirklich diese –

+0

lösen Wenn Sie Probleme haben, es hier direkt anzufügen, setzen Sie es auf [Pastebin] (http://pastebin.com/) oder eine ähnliche Website und fügen Sie einen Link hinzu. –

Antwort

0

Wenn Sie wünschen, Gesichtserkennung mit HaarCascades auszuführen, können Sie diesen Code verwenden:

#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

Da ich nicht weiß, welche Änderungen Sie am OpenCV-Beispielcode vorgenommen haben, kann ich nicht darauf hinweisen, was Sie möglicherweise falsch machen. Versuchen Sie, meinen Code zu bearbeiten und zu sehen, ob Sie ein Ergebnis erhalten –

Verwandte Themen