I want to track the contour of a large object (a person) so that my program can respond to its movements (floor interactive project, water ripples, for example) but without the need for markers (maybe an ordinary web-cam might be more suitable?).
What I have to do, just find the areas of the frame where the image has changed suddenly, detetect areas of disturbance rather than an accurate silhouette???
Any help on this would be greatly appreciated.
Can I do this in OpenCV, Openframeworks??
Anybody can share the source code??
Thanx!
Mladen
Well, you can definitely do this using openCV + openFrameworks.
Your idea sounds correct… to detect the areas of disturbance in the frame. Generally some form of frame differencing would be used here… like capture a reference frame that has no one in it, then every frame after that you find which pixels are different to generate a black & white silhouette, which can be used with the openCV contour finder to detect the blobs.
For the floor interactive project, you could probably get away with not-so accurate silhouettes, since you’re just trying to locate people.
You’ll probably want to do some research on Optical Flow algorithms to help with tracking a blob’s motion. I’ve seen a lot of people use it for the type of tracking you’re doing.
You might also look into the tbeta project from nuigroup … it offers a lot of options for blob tracking.
You could also write your own blob tracker if tbeta isn’t doing it for ya.