2017-02-13 81 views
0

我跟着一篇關於使用C++和visual studio 2012的facedetection的教程,它效果很好,但後來我想在視頻捕捉中添加垂直線(來自網絡攝像頭),但是我什麼都沒發生究竟是什麼出了問題,我真的很感激這個。在這裏你的幫助是我工作的代碼:在視頻捕捉中畫一條垂直線opencv

int main() { 

VideoCapture cap(0);  // Open default camera 
Mat frame; 
cap.set(CV_CAP_PROP_FRAME_WIDTH, 640); 
cap.set(CV_CAP_PROP_FRAME_HEIGHT, 480); 
line(frame, Point(frame.cols/2 + 1, 0), 
    Point(frame.cols/2 + 1, frame.rows - 1), 
      Scalar(255, 0, 128)); 
// Load preconstructed classifier 
face_cascade.load("C:\\opencv24\\opencv\\sources\\data\\haarcascades\\haarcascade_frontalface_alt.xml"); 

while (cap.read(frame)) { 
    detectFaces(frame);  // Call function to detect faces 
    if (waitKey(30) >= 0)  // Pause key 
     break; 
} 
return 0; 

}

回答

0

在代碼中的一些修改後,我終於來到了獲得行畫,這裏是運行代碼

while (cap.read(frame)) { 
      // Call function to detect faces 


    Mat frame; 
    cap >> frame; // get a new frame from camera 
    //cvtColor(frame, frame, COLOR_BGR2GRAY); 
    cap.set(CV_CAP_PROP_FRAME_WIDTH, 640); 
cap.set(CV_CAP_PROP_FRAME_HEIGHT, 480); 
line(frame, Point(frame.cols/2 + 1, 0), 
    Point(frame.cols/2 + 1, frame.rows - 1), 
      Scalar(255, 0, 0)); 


imshow("edges", frame); 
detectFaces(frame); 
    if (waitKey(30) >= 0)  // Pause key 
     break; 
} 

return 0; 

}