2017-02-13 2 views
0

Я следовал учебному пособию о faceetection с использованием C++ и visual studio 2012, в котором он работал хорошо, но потом я хотел добавить вертикальные линии к захвату видео (с веб-камеры), но ничего не случилось, я не знаю что именно пошло не так, я мог действительно ценю вашу помощь с этим .Здесь есть код, который я сейчас работаю:Нарисуйте вертикальную линию в видеозахвате 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; 

Смежные вопросы