Tracking configuration parameters for setting up a simple image recorder configuration.
It can be useful to record just a bunch of images for later use, but with the exact same camera parameters as they are used in the VisionLib SDK. Typical cases are:
Since version 19.3.1 you are able to save image sequences along with intrinsic camera parameters. When using iOS devices for recording, even ARKit relevant pose estimations can be saved along with the images.
The image recorder configuration is as simple as it sounds and consists a few parameters only. It can be used as stand alone application. The model tracker configuration also incorporates the same parameters in order to allow also recording while tracking.
The following parameters can be set inside the image recorder configuration file:
Parameter | Type | Default value | Example |
---|---|---|---|
recordOnStartup | bool | optional (true) - (false, when used in the model tracker config) | "recordOnStartup": true |
Will start the recording of the images, when the tracking pipe starts running. Images will NOT be recorded, when the SDK is paused. | |||
recordToNewDir | bool | optional (true) | "recordToNewDir": false |
Will start with a new directory when the tracking configuration is initialized. The given URIs parent directory will be taken and an incrementing number will be appended until a new folder can be created. | |||
recordURIPrefix | string | optional ("local_storage_dir:/VisionLib/records/record/image_") | "recordURIPrefix": "local_storage_dir:vlSDK/myImages/image_" |
Depicts the URI, where the images are written to. | |||
recordImageType | string | optional ("jpg") | "recordImageType": "png" |
Depicts image type extension and file format to be written regarding the specified URI. Allowed values are only | |||
extendibleTracking | boolean | optional (false) | "extendibleTracking": true |
When turned on, the device will initialize with external SLAM routines if available. On iOS and Android devices, ARKit/ARCore will be used in this case and the external SLAM poses are saved as well. It will eventually also decide for a resolution provided by the ARKit/ARCore session. |
You can easily customize the recording of the images in your configuration by passing scheme parameters. So every single parameters is reflected as a scheme parameter and will overwrite existing or default ones defined in the tracking file.
This is a small tutorial for using the image recorder in conjunction with your WiFi network and sending the images directly to your pc instead of writing it to the device (This is not enabled for UWP, which includes HoloLens. If you require this feature, please contact us).
The main principle relies in the fact that you will simply replace the recordURIPrefix
in the configuration file by your network address allowing for posting the image via HTTP to your application and write it there to your hard disk.
node
installed on your system.In order to setup the server please enter the following commands in your new project directory:
Create a file named index.js
and put the following code inside:
You maybe need to adapt the code a little bit for your needs. (e.g. the paths, when using windows)
Be sure that a directory named images
exists.
You can now start the server by calling node index.js
.
Open your used tracking configuration, or if you are using the image recorder example in Unity, copy and open imageRecorder.vl
under StreamingAssets/VisionLib/Examples/ImageRecorder
. In your tracking configuration, set recordToNewDir
to false and adjust the recordURIPrefix
like seen below:
When deploying to the iOS or Android device, you will be able to receive the images.
This will only work with mobile devices, since Unity as a player does NOT allow the sending of the images from within the editor.