Forum

Plane detection from a depth map

Hi,
what would be a good way for detecting planes in an image taken from a depth camera (Kinect for example)?

what do you mean by ‘planes’? surfaces in space?

yes, surfaces, like piece of paper or so.

not that easy…
i suspect you have to detect in array of points if they lie on same plane and that mean’s you have to do some really massive calculation per point vs all the points, and then another massive calculation to detect planes, and after that you prob will be able to take some corner points to generate grids on them… problem that it might had chance to work if it would be done roughly… but i’m quite suspect that if you take all the points (320x240) and start to calculate something on them you would already kill all the performance…

basicly that shit can work only if you detect the edges of the array points, points witch have some significant difference with neighbors

@antokhio so this was made with the RGB camera or the Kinect IR camera, but with 2d traking, this is not a “volumetic” traking of the Kinect IR rigth ?
how can we get that data in vvvv without using the Pipet node to know the pixel distance ?

couldn’t plane detection be possible via one shader and then basic tracking?

just an idea, don’t have a kinect lying around to try.
but via ddx and ddy you should be able to generate a difference picture from the depth map -> difference from one drawn pixel to the next (in that case depth) and if the plane is just rotated in space it should have quite the same difference all over the surface.

you could post a depthpic with a or some planes inside so i’d give it a try

hey! woei found what you need ;]
http://golancourses.net/2011spring/05/10/kinectportal/

also this