Replies: 14 comments 17 replies
-
Hi @mksbabu Can you provide information about the questions below, please?
https://github.com/EduardoWang/visual-studio-real-sense-record-and-playback-project |
Beta Was this translation helpful? Give feedback.
-
In the rs2::calibration_table res line, this instruction typically does not have a number such as '100' at the end of it. Have you tried the line without this number to confirm whether this is the 'stream number' that the error is referring to, please?
|
Beta Was this translation helpful? Give feedback.
-
If your code is okay then there are some computers that on-chip calibration will only work with up until librealsense SDK version 2.49.0, but will not work with versions newer than 2.49.0. If your computer is one of those that experiences this problem then there is no solution other than to use 2.49.0 to perform on-chip calibration, unfortunately. |
Beta Was this translation helpful? Give feedback.
-
If you are using Windows, please check in the RealSense Viewer if the Infrared and Infrared 2 options are listed under the Stereo Module section of the Viewer's options side-panel. If they are missing and only Depth is listed then this could indicate that the camera drivers are damaged and need to be uninstalled and reinstalled as their absence can make activationof on-chip calibration fail. If the Infrared and Infrared 2 options are listed then it is likely that your particular computer does not work with on-chip calibration. It will work fine on some computers but not others, and if your computer is one that has a problem with on-chip calibration activation then there is no way to fix it, unfortunately. Cameras can alternatively be calibrated with the Dynamic Calibration tool that can be installed as a separate software package, though I understand that you would prefer to use on-chip so that it can be integrated into your application. |
Beta Was this translation helpful? Give feedback.
-
Hi @mksbabu That sounds normal. The health check score may vary with each new calibration performed. The user can repeat the calibration process multiple times if they wish to do so until they achieve a score that they are satisfied with and then they can save that calibration to the camera hardware. The 3D mode of the RealSense Viewer is a 3D pointcloud image that represents measurement of depth in meters in the real-world scene. Intel provide a C++ pointcloud example script called rs-pointcloud at the link below. https://github.com/IntelRealSense/librealsense/tree/master/examples/pointcloud |
Beta Was this translation helpful? Give feedback.
-
Getting device information does not require depth feeds. There is a C++ tutorial at the link below about querying the camera for its device details and displaying them. https://www.codeproject.com/Articles/1233892/FluentRealSense-The-First-Steps-to-a-Simpler-RealS |
Beta Was this translation helpful? Give feedback.
-
If you want a 2D depth image and not a 3D pointcloud then the RealSense SDK's C++ example rs-capture might fit your needs. https://github.com/IntelRealSense/librealsense/tree/master/examples/capture |
Beta Was this translation helpful? Give feedback.
-
There is a C++ script at the link below which looks similar to your rs2::frame depth code but they nest their code within this instruction where they place a char definition:
https://www.twblogs.net/a/5c36203ebd9eee35b3a57a8c/?lang=zh-cn If you are creating a RealSense Java application then an alternative approach that you could consider is using an unofficial Java wrapper created by a RealSense community member. |
Beta Was this translation helpful? Give feedback.
-
Let's try setting the index to 0 so that the script works, and inserting the line below after your ctx.query_devices() line to see if all attached cameras are detected and listed.
|
Beta Was this translation helpful? Give feedback.
-
Does it work if you change your auto_calibrated_device line to this (using devobject instead of dev for the device):
|
Beta Was this translation helpful? Give feedback.
-
The example C++ code in the on-chip calibration guide does not use 175, 100 in the rs2_calculate_target_z instruction. What happens if you remove these values?
|
Beta Was this translation helpful? Give feedback.
-
it looks as though
|
Beta Was this translation helpful? Give feedback.
-
I can point you towards how another RealSense user handled controlling tare calibration with C++ at #11629 (comment) |
Beta Was this translation helpful? Give feedback.
-
If you will always be calibrating at the same distance from the target then it should be fine to hard-code the value. You could find the value for your particular setup using the Get button in the Viewer's interface and then hardcode that value into your script. A calibration specialist on the Intel RealSense team provides expert advice about tare at #10213 (comment) |
Beta Was this translation helpful? Give feedback.
-
Hi Team,
I want to add on-chip calibration feature to my application by using intel realsense SDK, done few changes as per white paper ( https://dev.intelrealsense.com/docs/self-calibration-for-depth-cameras#appendix-d-on-chip-calibration-c-api ) of self calibration but getting below error when executing below code. could you please help me on how to mention "const float progress" value and what went wrong in below code since this is my first project on intelrealsense SDK with c++.
code snippet:
rs2::pipeline pipe;
rs2::config cfg;
cfg.enable_stream(RS2_STREAM_DEPTH, 256, 144, RS2_FORMAT_Z16, 90);
rs2::device dev = pipe.start(cfg).get_device();
rs2::auto_calibrated_device cal = dev.asrs2::auto_calibrated_device();
float health;
rs2::calibration_table res = cal.run_on_chip_calibration("", &health, [&](const float progress) { /* On Progress */ },100);
Error:
Exception thrown at 0x00007FF9ACCD4B2C (KernelBase.dll) in learning.exe: WinRT originate error - 0xC00D36B3 : 'The stream number provided was invalid.'.
Exception thrown at 0x00007FF9ACCD4B2C (KernelBase.dll) in learning.exe: WinRT originate error - 0xC00D36B3 : 'The stream number provided was invalid.'.
Exception thrown at 0x00007FF9ACCD4B2C (KernelBase.dll) in learning.exe: WinRT originate error - 0xC00D36B3 : 'The stream number provided was invalid.'.
Exception thrown at 0x00007FF9ACCD4B2C (KernelBase.dll) in learning.exe: WinRT originate error - 0xC00D36B3 : 'The stream number provided was invalid.'.
Exception thrown at 0x00007FF9ACCD4B2C (KernelBase.dll) in learning.exe: WinRT originate error - 0xC00D36B3 : 'The stream number provided was invalid.'.
Exception thrown at 0x00007FF9ACCD4B2C (KernelBase.dll) in learning.exe: WinRT originate error - 0xC00D36B3 : 'The stream number provided was invalid.'.
Exception thrown at 0x00007FF9ACCD4B2C (KernelBase.dll) in learning.exe: WinRT originate error - 0xC00D36B3 : 'The stream number provided was invalid.'.
Exception thrown at 0x00007FF9ACCD4B2C (KernelBase.dll) in learning.exe: WinRT originate error - 0xC00D36B3 : 'The stream number provided was invalid.'.
Exception thrown at 0x00007FF9ACCD4B2C (KernelBase.dll) in learning.exe: WinRT originate error - 0xC00D36B3 : 'The stream number provided was invalid.'.
Exception thrown at 0x00007FF9ACCD4B2C (KernelBase.dll) in learning.exe: WinRT originate error - 0xC00D36B3 : 'The stream number provided was invalid.'.
Exception thrown at 0x00007FF9ACCD4B2C (KernelBase.dll) in learning.exe: WinRT originate error - 0xC00D36B3 : 'The stream number provided was invalid.'.
Exception thrown at 0x00007FF9ACCD4B2C (KernelBase.dll) in learning.exe: WinRT originate error - 0xC00D36B3 : 'The stream number provided was invalid.'.
Exception thrown at 0x00007FF9ACCD4B2C (KernelBase.dll) in learning.exe: WinRT originate error - 0xC00D36B3 : 'The stream number provided was invalid.'.
Exception thrown at 0x00007FF9ACCD4B2C in learning.exe: Microsoft C++ exception: librealsense::invalid_value_exception at memory location 0x000000C6A3FAE6F0.
Exception thrown at 0x00007FF9ACCD4B2C in learning.exe: Microsoft C++ exception: librealsense::invalid_value_exception at memory location 0x000000C6A3FADD60.
Exception thrown at 0x00007FF9ACCD4B2C in learning.exe: Microsoft C++ exception: [rethrow] at memory location 0x0000000000000000.
Exception thrown at 0x00007FF9ACCD4B2C in learning.exe: Microsoft C++ exception: rs2::invalid_value_error at memory location 0x000000C6A3FAF260.
Unhandled exception at 0x00007FF9ACCD4B2C in learning.exe: Microsoft C++ exception: rs2::invalid_value_error at memory location 0x000000C6A3FAF260.
Beta Was this translation helpful? Give feedback.
All reactions