I am playing around with Kinect and I’m trying to get an as accurate as possible human contour.
So far I tried changing threshold values, blurring, etc… but I was wondering if there was an existing effective method of doing it.
I believe there are two main problems in order to get a good shape. One is that if keeps flickering all the time. The other, how is not a very good shape (hair not reflecting IR lighting, etc…).
Any reccomendations on how to proceed? At the moment I’m trying to average values of the most recent frames to stabilize for the first problem and I might try to convert the shape to a polygon and simplify it (however that’s done).
Thanks in advance for any help :]
I’ve been using ofxOpenNI to get the “user pixels” which is basically the masked out person in front of the kinect. Because the resolution of the depth image (which is used to mask out the person) is low the result isn’t that good. Though I found that using a light absorbing background, like this http://abacustechnicalservices.co.uk/images/finished-drapes-1.jpg works quite well to get a better mask.
I also used blurring, thresholding and simplifying the curve but I wasn’t happy with the result and for the application I worked on it wasn’t necessary.
these guys wrote a pretty epic tutorial on how to refine edges of kinect image
also find it funny they were using a kinect to make a commercial for soft kinetic, which sells the competing depthsense time of flight cameras (http://www.softkinetic.com/solutions/depthsensecameras.aspx)
I did something some time ago just using dilate, erode and blur. it worked more or less fine.
take a look here.