Are multiple cameras supported yet?

Are multiple cameras supported yet?

I wish to use two cameras simultaneously for a project, but I saw from posts on this forum about a year ago that multiple cameras weren't supported at that time. Is that still the case?

 

UPDATE: I finally got multicamera streaming working! As mentioned librealsense is the solution. Something to be noted is that I was only able to get it working with Visual Studio 2013 Professional. It didn't not work with Visual Studio 2015 Community Edition for me.

19 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Simultaneous use of multiple cameras is not supported by the RS SDK - but raw streams can be done. 

Hi Colleen,

Thanks for the reply. Would you mind elaborating on that? Does this mean that I could use senseManager->AquireFrame for two cameras at the same time?

Thanks,

Granger

I think I read somewhere that you need to have one copy of senseManager per camera.

Hi,

I too would like to know more about this, could you elaborate Colleen? :-)

Thanks,

Mikkel

Btw, if you have two cameras connected, how the RS SDK decides which one to use?

引文:

Andre Carlucci 写道:

Btw, if you have two cameras connected, how the RS SDK decides which one to use?

There are some methods that you can use to filter out different devices. Actually the SDK can even work with a normal webcam as well.

Now it is supported (in another library):

https://github.com/IntelRealSense/librealsense

引文:

Colleen Culbertson (Intel) 写道:

Simultaneous use of multiple cameras is not supported by the RS SDK - but raw streams can be done. 

Hi there, it would be helpful if you could expand on what you mean. I would like to use multiple cameras but only to get the streams and do some basic processing. I do not need to use the SDK to do much else apart from  computing the mapping between colour and depth as well as calculating the projection from depth to world coordinates.

Or is that not possible at all with the SDK and would need to all be managed ourselves from the raw streams as in the library that was posted above?

Many thanks,

Thomas

The Intel RealSense SDK only supports one camera at a time and Windows. This is the SDK that contains all the computer vision stuff, face detection, tracking, etc.

The librealsense library supports multiple cameras and OSs, but only provides raw access to the camera. There are no computer vision algorithms provided here.

Without SDK enabled how can I convert raw data from depth camera to distance? 

Well, one of the formats for depth is in mm. Just ask the camera for it very nicely, and it will respond.

You don't need to use the SDK, just use the library.

So is it possible for me to write a program that creates two sensemanagers -- one for one camera, another for a second camera, then grab raw stream data from both cameras?

Granger, for multiple camera support you should use librealsense instead of the RealSense SDK. It has a different interface.

Quote:

samontab wrote:

Granger, for multiple camera support you should use librealsense instead of the RealSense SDK. It has a different interface.

 

Thank samontab, I'll check that out. Have you used this library before?

Quote:

chang-li wrote:

Without SDK enabled how can I convert raw data from depth camera to distance? 

This is something I am wondering as well.

Please see the code provided by the librealsense project:
https://github.com/IntelRealSense/librealsense/blob/master/examples/cpp-...

Quote:

Granger L. wrote:

Quote:

samontab wrote:

 

Granger, for multiple camera support you should use librealsense instead of the RealSense SDK. It has a different interface.

 

 

 

Thank samontab, I'll check that out. Have you used this library before?

Yeah, I've tested it and it works perfectly fine for my needs, which are just raw capture from the cameras from multiple OSs.

Thanks @ samontab!

Great info! :-) 

Just for reference, these are the possibilities of the librealsense:

  1. Native streams: depth, color, infrared
  2. Synthetic streams: rectified images, depth aligned to color and vice versa, etc.
  3. Intrinsic/extrinsic calibration information
  4. Majority of hardware-specific functionality for individual camera generations (UVC XU controls)
  5. Multi-camera capture across heterogeneous camera architectures (e.g. mix R200 and F200 in same application)

(Copy/paste from the librealsense readme)

These should be more than sufficient to calculate all 3D point clouds etc.

 

Leave a Comment

Please sign in to add a comment. Not a member? Join today