I'm starting with a project where I have a table top scenario with several objects. I'd like to get a rough scene representation with the objects pose, color and maybe some other features.
To start I've set a kinect to get a view like this and I was wondering the best way to segment the 3d region delimited by the yellowish tape and above. I was thinking to place some sort of marker on the corners (something easy to find like a bright color) find that points in the cloud, get the square defined by them and build a cube. With that cube I guess I can use some filter operation (pcl::BoxClipper3D??). Does it make any sense? Better ideas??
Regarding performance, I don't need to rebuild the bounding area once it's calculated, but I'll have to filter every frame to discard the points outside it, would be the filter op fast enough to get at least 10fps?
Once you have figured out how to get the square (or generally the polygon) defined by the tape, you could apply ExtractPolygonalPrismData class, which "uses a set of point indices that represent a planar model, and together with a given height, generates a 3D polygonal prism". Can't say you how fast this operation is, but from my experience it works "just fast enough".
As for extracting the polygon... this sounds more like a task for OpenCV. Once you have applied their algorithms and got 2D polygon, it is easy to determine its 3D coordinates.
I was trying to extract ROI automatically in 3D point cloud object, how can this be done ?
Your phrase "extracting the polygon... this sounds more like a task for OpenCV. Once you have applied their algorithms and got 2D polygon, it is easy to determine its 3D coordinates" - seems quite interesting, can you elaborate or provide some source how this is done?