Linking multiply cameras?

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Linking multiply cameras?

maxerl
Hey there,
i want to link/merge/fusion two or more cameras to one point cloud. Goal is to do object recognition, especially human if it's possible.
My cameras are linked and calibrated via tf-tree (i got the translation to the world origin) and they are kinect2. They are all static, so i just want a realtime merged pointcloud or for better performance depth and image-topic to do the final things.

Can i do it with this project or should i have to code it myself?
Thanks alot!
Greatings maxerl
Reply | Threaded
Open this post in threaded view
|

Re: Linking multiply cameras?

matlabbe
Administrator
Hi,

If it is only merging clouds from multiple cameras, you could use pcl for that. You can look at this file for an example: https://github.com/introlab/rtabmap_ros/blob/master/src/nodelets/point_cloud_aggregator.cpp

It takes 3 point clouds and merge them into one. You can create a standalone node and just copy the callback and subscriptions.

cheers
Reply | Threaded
Open this post in threaded view
|

Re: Linking multiply cameras?

maxerl
Thanks for your quick reply!

Yes, i want to merge point clouds. Because of performance problems, I can't use the PointCloud2-topics. This is why I'm using the Depth- and Color-Image.
Maybe I can build my own PointCloud2s in the merging-node and merge them, but actually I don't know how. I'm trying and trying and haven't found a real solution to build it.

Thanks for your help.
Reply | Threaded
Open this post in threaded view
|

Re: Linking multiply cameras?

matlabbe
Administrator
Hi,

You can use the existing nodelets like depth_image_proc/point_cloud_xyzrgb or rtabmap_ros/point_cloud_xyzrgb (the difference is that the later has pre-image decimation option for faster point cloud generation if you don't need all points and voxel filtering option).

If you do a nodelet to merge the point clouds, you could put both nodelets in the same nodelet manager, so that there is just a memory copy (even just pointer copy) between the nodelets.

Otherwise, look at their code to reconstruct a point cloud from depth and rgb images.

cheers