0

In this post, topic of shape detection (from images) in OpenCV considered. To extend the topic, how it is possible to detect shapes by OpenCV from a live video stream in real time?

Community
  • 1
  • 1
Rwy5
  • 23
  • 8

1 Answers1

2

Yes, it is possible to detect shapes using OpenCV from a video stream - as Miki mentioned, VideoCapture and grabbing each frame as a single image would be the way to do that. Code for that in C++ would be something like:

//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
}

Doing it in real-time is a little more difficult - depending on how fast the frame-rate on the camera and how powerful the computer processing the program is, you can trim the update rate down to fractions of a second. If it's still not fast enough, going through the opencv cuda or opencv gpu libraries might get you the faster speed that you need.

Rachel L
  • 327
  • 3
  • 13