2016-04-02 31 views
-3

私はtutorial in opencvを訓練しています。Opencv:コードにエラーはありませんが、結果にウェブカメラが表示されません

コンパイル時にエラーが発生しませんでした。

私はチュートリアルのコードが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のサンプルコードに加えた変更がわからないので、間違ったことを指摘することはできません。私のコードを作業してみて、結果が得られるかどうかを見てください –