OpenCV

Is there currently a feature request for OpenCV features, along the lines of the OpenCV plugin for QC, maybe incorporating some CV 2.0 stuff? I have scrolled through, and don’t seem to see one…

1 Like

It’s on our internal Big List of Things We’d Like to Do Someday, but AFAIK the only current public computer-vision-related feature request is Node set for skeletal tracking with Kinect. So, I’d like to encourage you to create feature requests to get the voting started.

OpenCV is a huge library, so I’d like to approach it with individual, use-case-oriented feature requests — rather than a big “Add OpenCV support” feature request, maybe (for example) create one called “Be able to track moving objects in a live video feed” and another called “Be able to detect faces in images” — and feel free to list details about the use case (and even specific algorithms / OpenCV classes) in each of those feature requests.

Thanks.

In that case I’ll just mull it over more, probably attempt to implement some small feature myself and see how it goes!

The OpenCV kineme made for QC was so, so useful.

I’d like to encourage you to create feature requests

Oops, I overlooked this existing feature request: Face detection

I also just created another one: “Track Points in Image” node

Cool, thanks…I think that the edge detection stuff, and haar marker tracking were pretty useful.

FWIW, I have found that edge detection on an RGB image can be especially good if you setup a chroma mask/color picker first. Then all of a sudden the OpenCV edge detection stuff gets a real boost in its ability to track consistently.

1 Like

I would like to me able to track people in a shot of people moving though in a crowd. Imagine a bunch of pedestrians all moving towards camera or right to left, in the same direction basically. could i track them until they leave the (locked-off) frame of vision? I just want to count them reasonably accurately basically — not actual identification of individuals or any ‘types’ of people required. Is this possible even with OpenCV?

Yeah, you basically want to use openCV blob tracking and possibly an infrared cam, though a color cam can do it if light conditions are correct. You threshold the image if needed, then run through a blob tracker.

The way I have done this in the past is to code it in OpenFrameworks, because it has been easiest to figure out how to get it going, then output the blob ID’s via OSC, if needed.

You could also use a face tracker, or even kinect and related OpenNI or MS SDK’s. However, kinect related SDK’s usually top out at around a dozen people. Relying on Haar Face tracking is going to miss a lot of people because not everyone’s face will be visible to a cam at all times. Blob tracking may get some false positives, but is usually winds up allowing better visual results for more artsy contexts.

cool. correct count is really important in terms of goal here, most people would be side in some contexts which would rule either rule out side camera or rule out face tracking. the blobs might be close at times and overlap would it be able to tell one person from a person behind them if their outlines overlapped because person A is walking in front of person B from the camera POV?.