2017-02-13 75 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; 

}