MarekKowalski / LiveScan3D

LiveScan3D is a system designed for real time 3D reconstruction using multiple Azure Kinect or Kinect v2 depth sensors simultaneously at real time speed.
MIT License
749 stars 202 forks source link

Using LiveScan3D with Realsense D435 #34

Open akashcastelino opened 5 years ago

akashcastelino commented 5 years ago

Hi, I wanted to inquire if LiveScan3D would work with the realsense d400 series cameras?

Moving this issue to LiveScan3D-Hololens git.

Thanks and Best Regards

MarekKowalski commented 5 years ago

Hi,

In order for the app to work with the realsense you would need to implement the iCapture interface for that sensor. I don't think it is a lot of work, but it would still require the knowledge of basic C++ programming.

Marek

akashcastelino commented 5 years ago

Hi,

Thanks for your reply. I have taken a look at the iCapture interface and am not really sure what is its intended purpose or rather what to implement on it ?

Could you please help. I think since the kinects are becoming more limited this would be a good addition.

Thanks,

MarekKowalski commented 5 years ago

Hi,

iCapture is an interface that the application can use to communicate with an RGBD camera. The idea is, that to work with an RGBD camera, you need to implement a class derived from iCapture that will implement all of its functions. An example of such a class is kinectCapture, which implements the iCapture inteface for the Kinect v2 depth camera, the implementation of this class is here.

Marek

middlestone commented 5 years ago

Hi MarekKowalski , it seems that librealsense does not expose the body tracking interface, but your client needs it, so it is really sad to try your code with D435 camera, :(. Do you have any suggestion? thank you very much.

MarekKowalski commented 5 years ago

Hi,

The D435 does not have a body tracking interface, that's true. You can go around this limitation by never filling in the array of bodies, which is normally used by the Kinect interface. That should not cause any problems.

Thanks,

Marek

predictcare commented 5 years ago

Hi, did someone managed to implement iCapture.h ? Thanks!

telemething commented 5 years ago
ideasxiang commented 4 years ago

Is there any guide on how to implement an interface?

ideasxiang commented 4 years ago

How do I make the interface work with kinect 360?

MarekKowalski commented 4 years ago

Hi, I have never worked with Kinect 360, so I can't really help you with the specifics. As for an example you can see the implementation for Kinect v2 here: https://github.com/MarekKowalski/LiveScan3D/blob/master/src/LiveScanClient/kinectCapture.cpp There is also an implementation for Azure Kinect, though the interface was slightly modified, you can find it here: https://github.com/MarekKowalski/LiveScan3D/blob/AzureKinect/src/LiveScanClient/azureKinectCapture.cpp

Marek

ideasxiang commented 4 years ago

I looked at the files. There isnt a one to one replacement of the functions eg getbodyframe. What should i do in this case? Thanks

On Sun, 1 Mar 2020, 12:43 am Marek, notifications@github.com wrote:

Hi, I have never worked with Kinect 360, so I can't really help you with the specifics. As for an example you can see the implementation for Kinect v2 here:

https://github.com/MarekKowalski/LiveScan3D/blob/master/src/LiveScanClient/kinectCapture.cpp There is also an implementation for Azure Kinect, though the interface was slightly modified, you can find it here:

https://github.com/MarekKowalski/LiveScan3D/blob/AzureKinect/src/LiveScanClient/azureKinectCapture.cpp

Marek

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/MarekKowalski/LiveScan3D/issues/34?email_source=notifications&email_token=AF5PZFLTTQRVJCBQUDX4PELRFE5JNA5CNFSM4GLUVP72YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOENL6VIQ#issuecomment-592964258, or unsubscribe https://github.com/notifications/unsubscribe-auth/AF5PZFNZLNAJHHNP2DMNORLRFE5JNANCNFSM4GLUVP7Q .

MarekKowalski commented 4 years ago

Hi, If you do not need the functionality provided by the functions that are not present, you can return some sort of an empty input.

Thanks,

Marek