在视频捕捉opencv中画一条垂直线

时间:2017-02-13 15:20:55

标签: c++ opencv visual-studio-2012

我跟着一个关于使用c ++和visual studio 2012的facedetection的教程,它运作良好,但后来我想添加垂直线到视频捕获(从网络摄像头)但没有发生任何事情我不知道到底出了什么问题,我真的可以感谢你的帮助。我正在研究的代码是:

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;

}

1 个答案:

答案 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;

}