Introduction
The downloadable code sample demonstrates the basics of acquiring raw camera streams from Intel® RealSense™ cameras (R200 and F200) in the MATLAB® workspace using the Intel® RealSense™ SDK and MATLAB’s Image Acquisition Toolbox™ Adaptor Kit. This code sample creates possibilities for MATLAB developers to develop Intel® RealSense™ applications for Intel® platforms and has the following features:
- Multi-stream synchronization. Color stream and depth stream can be acquired simultaneously (see Figure 1).
- Multi-camera support. Raw streams can be acquired from multiple cameras simultaneously.
- User adjustable properties. This adaptor supports video input with different camera-specific properties.
Software Development Environment
The code sample was created on Windows 8* using Microsoft Visual Studio* 2013. The MATLAB version used in this project was MATLAB R2015a.
The SDK and Depth Camera Manager (DCM) version used in this project were:
- Intel RealSense SDK V7.0.23.8048
- Intel RealSense Depth Camera Manager F200 V1.4.27.41944
- Intel RealSense Depth Camera Manager R200 V2.0.3.53109
Hardware Overview
We used the Intel® RealSense™ Developer Kit (F200) and Intel RealSense Developer Kit (R200).
About the Code
This code sample can be built into a dynamic link library (DLL) that implements the connection between the MATLAB Image Acquisition Toolbox™ and Intel RealSense cameras via the Intel RealSense SDK. Figure 2 shows the relationship of this adaptor to the MATLAB and Intel RealSense cameras. The Image Acquisition Toolbox™ is a standard interface provided by MATLAB to acquire images and video from imaging devices.
The MATLAB installation path I used was C:\MATLAB
and the SDK installation path was C:\Program Files (x86)\Intel\RSSDK
. Note that the include directories and library directories will need to be changed if your SDK and MATLAB installation paths are different. You will also need to set an environment variable MATLAB in system variables that contains the name of your MATLAB installation folder.
The file location I use to put the entire code sample RealSenseImaq was C:\My_Adaptor\RealSenseImaq
. The RealSenseImaq solution can also be found under this directory. This RealSenseImaq solution actually consists of two projects:
- The imaqadaptorkit is an adaptor kit project provided by MATLAB to make it easier to refer to some adaptor kit files in MATLAB. The file location of this project is:
<your_matlab_installation_directory>\R2015a\toolbox\imaq\imaqadaptors\kit
- The RealSenseImaq is an adaptor project that acquires the raw camera streams. The color and depth data from multiple cameras can be acquired simultaneously. It also contains functions to support video input with different camera-specific properties.
How to Run the Code
To build the DLL from this code sample:
- First run Microsoft Visual Studio as administrator and open the RealSenseImaq solution. You must ensure that “x64” is specified under the platform setting in the project properties.
- To build this code sample, right-click the project name RealSenseImaq in the solution explorer, then select it as the startup project from the menu option and build it.
- For users who are MATLAB developers and not interested in the source code, pre-build DLL can be found in the
C:\My_Adaptor\RealSenseImaq\x64\Debug\
folder. Note that the DLL directory will need to be changed if you put the code sample in a different location.
To register the DLL in the MATLAB:
- You must inform the Image Acquisition Toolbox™ software of DLL’s existence by registering it with the Imaqregister function. The DLL can be registered by using the following MATLAB code:
Imaqregister (‘<your_directory>\RealSenseImaq.dll’);
- Start MATLAB and call the imaqhwinfo function. You should be able to see the RealSenseImaq adaptor included in the adaptors listed in the InstalledAdaptors field.
To run the DLL in the MATLAB:
Three MATLAB scripts that I created have been put under the code sample directory C:\My_Adaptor\RealSenseImaq\matlab
.
To start to run the DLL in MATLAB, use the scripts as follows:
- MATLAB script “test1” can be used to acquire raw F200 color streams in MATLAB.
- Raw color and depth streams from the Intel RealSense camera (F200) can be acquired simultaneously by using the MATLAB script “test2” (see Figure 1).
- You can also use this adaptor to adjust the camera-specific property and retrieve the current value of the property. For example, the MATLAB script “test3” in the code sample file can be used to retrieve the current value of color brightness and adjust its value.
Check It Out
Follow the download link to get the code.
About Intel® RealSense™ Technology
To get started and learn more about the Intel RealSense SDK for Windows, go to https://software.intel.com/en-us/intel-realsense-sdk.
About MATLAB®
MATLAB is the high-level language and interactive environment to let you explore and visualize ideas and collaborate across disciplines. To learn more about the MATLAB, go to http://www.mathworks.com/products/matlab/.
About the Author
Jing Huang is a software application engineer in the Developer Relations Division at Intel. She is currently focused on performance of applications of the Intel Real Sense SDK on Intel platforms but has an extensive background in video and image processing and computer vision, mostly applied to medical imaging applications and multi-camera applications such as video tracking and video classification.