使用实时视频流中的 OpenCV 进行形状检测

Shape Detection using OpenCV from live video stream

在此 post 中,考虑了 OpenCV 中的形状检测(从图像)主题。延伸话题,如何通过 OpenCV 从实时视频流中实时检测形状?

是的,可以使用 OpenCV 从视频流中检测形状 - 正如 Miki 提到的,VideoCapture 并将每一帧作为单个图像抓取是实现此目的的方法。 C++ 中的代码类似于:

//inside your method, make sure to bring in the libraries needed
VideoCapture capture(0); //opens the first webcam on your computer
Mat frame;

while (true) { 
    capture >> frame; //pulls the next frame in
    if (frame.empty()) { //makes sure it's not empty
    printf("No frame!");
    break;}
    //do whatever you want with that frame here
    imshow("framename", frame); //displays the frame to the user
    waitKey(1); //longer gives you a longer delay between frames
}

在real-time中做起来有点困难-取决于frame-rate在相机上的速度有多快以及处理程序的计算机有多强大,您可以trim更新率下降到几分之一秒。如果它仍然不够快,通过 opencv cudaopencv gpu 库可能会让您获得所需的更快速度。