2017-02-13 6 views
1

私は顔認識アプリケーションのためにC++でopencvを使用していますが、顔認識部分はビデオキャプチャ上に2つの線を追加して3つの部分に分割する必要があるまで、これは私のコードです。私はopencv 2.4.11とvisual studio 2012を使用しています。画像に行を挿入するためにこの部分を書きましたが、ビデオでは何も得られません。facerecognitionライブビデオキャプチャで2本の線を描く

Mat image; 
image = imread("C:\\Users\\user\\Desktop\\pfedocs\\ggg_opt.jpg", CV_LOAD_IMAGE_COLOR); 

    line(image,Point(25,0),Point(25,500),Scalar(0,255,0),3,2,0); 
line(image,Point(190,0),Point(190,500),Scalar(0,255,0),3,2,0); 
line(image,Point(355,0),Point(355,500),Scalar(0,255,0),3,2,0); 

誰でもこの手伝いできますか?

+0

[ask]を参照し、[mcve] ... [** Minimal **]のストレスを入力してください。 – Miki

+0

私は顔検出アルゴリズムと一緒に線を引いている問題は、フレームに線が表示されない – deepmore

+1

本当の質問は次のとおりです。_ "ビデオに2行を描くにはどうすればいいですか? – Miki

答えて

-1

「ライブビデオキャプチャ」から何か分かりません。キャプチャファイルがある場合(btwは「ライブ」として呼び出すことはできません)、そのフレームを読み込んで反復することができます。あなたは(Webカメラなど)キャプチャデバイスを持っている場合にも、あなたは一例に従うことによってあまりにもデバイスから読み取ることができます。

#include "opencv2/opencv.hpp" 
using namespace cv; 
int main(int, char**) 
{ 
    VideoCapture cap(0); // open the default camera 
    if(!cap.isOpened()) // check if we succeeded 
     return -1; 
    Mat edges; 
    namedWindow("edges",1); 
    for(;;) 
    { 
     Mat frame; 
     cap >> frame; // get a new frame from camera 
     cvtColor(frame, edges, COLOR_BGR2GRAY); 
     GaussianBlur(edges, edges, Size(7,7), 1.5, 1.5); 
     Canny(edges, edges, 0, 30, 3); 
     imshow("edges", edges); 
     if(waitKey(30) >= 0) break; 
    } 
    // the camera will be deinitialized automatically in VideoCapture destructor 
    return 0; 
} 

VideoCaptureクラスをチェックしてください。

+0

私のビデオキャプチャフレームにラインを追加することです私はウェブカメラのビデオキャプチャを取得私はそれが3つの部分に分割して、あなたの答えをありがとう – deepmore