Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

how to get the intel D435 intrinsic and extrinsic calibration information #1706

Closed
super-scyu opened this issue May 16, 2018 · 10 comments
Closed

Comments

@super-scyu
Copy link

  • Before opening a new issue, we wanted to provide you with some useful suggestions (Click "Preview" above for a better view):

  • All users are welcomed to report bugs, ask questions, suggest or request enhancements and generally feel free to open new issue, even if they haven't followed any of the suggestions above :)


Required Info
Camera Model { R200 / F200 / SR300 / ZR300 / D400 }
Firmware Version (Open RealSense Viewer --> Click info)
Operating System & Version {Win (8.1/10) / Linux (Ubuntu 14/16/17) / MacOS
Kernel Version (Linux Only) (e.g. 4.14.13)
Platform PC/Raspberry Pi/ NVIDIA Jetson / etc..
SDK Version { legacy / 2.. }

Issue Description

<Describe your issue / question / feature request / etc..>

@SimonLit
Copy link

Intrinsic information can be gatherd in the following way:
auto const i = pipe.get_active_profile().get_stream(RS2_STREAM_DEPTH).as<rs2::video_stream_profile>().get_intrinsics(); Where pipe is of type rs2::pipeline. Change RS2_STREAM_DEPTH if you want intrinsic data from a different stream.

Gathering extrinsic data can be done in the same way but replacing get_intrinsics() with get_extrinsics_to(const rs2::stream_profile &to).

I don't know if this is the right way of doing it but it is a way to get the intrinsic and extrinsic data.

@Gnimuc
Copy link
Contributor

Gnimuc commented May 16, 2018

you could also refer to sensor-control example for details:

void show_stream_intrinsics(rs2::device device, rs2::sensor sensor)
{
// Each stream has its own intrinsic information, first choose a stream, then display its intrinsics
rs2::stream_profile selected_profile = how_to::choose_a_streaming_profile(sensor);
how_to::get_field_of_view(selected_profile);
}
void show_extrinsics_between_streams(rs2::device device, rs2::sensor sensor)
{
// A rs2::device can have its sensors and streams calibrated and provide the extrinsics between 2 streams.
std::cout << "Please choose a sensor and then a stream that will be used as the origin of extrinsic transformation:\n" << std::endl;
rs2::sensor from_sensor = how_to::get_a_sensor_from_a_device(device);
rs2::stream_profile from = how_to::choose_a_streaming_profile(from_sensor);
std::cout << "Please choose a sensor and then a stream that will be used as the target of extrinsic transformation::\n" << std::endl;
rs2::sensor to_sensor = how_to::get_a_sensor_from_a_device(device);
rs2::stream_profile to = how_to::choose_a_streaming_profile(to_sensor);
how_to::get_extrinsics(from, to);
}

@RealSense-Customer-Engineering
Copy link
Collaborator

[Realsense Customer Engineering Team Comment]
@super-scyuare
are those examples able to solve your issue?

@super-scyu
Copy link
Author

thankyou ,but i how to ootput intrinsics and extrinsics

@super-scyu
Copy link
Author

how to output intrinsics and extrinsics

@super-scyu
Copy link
Author

and i use the sensor-control example but there is no Distortion

@RealSense-Customer-Engineering
Copy link
Collaborator

[Realsense Customer Engineering Team Comment]
Hi @super-scyu,
you can download the calibrationAPI-2.5.2.0-Setup.exe through below link
https://downloadcenter.intel.com/download/27415/Intel-RealSense-D400-Series-Dynamic-Calibration-Software-Tools

after installation, you should able to find the executable Intel.Realsense.CustomRW.exe under
C:\CalibrationToolAPI\2.5.2.0\bin

Intel.Realsense.CustomRW.exe : show all options
Intel.Realsense.CustomRW.exe -r output the calibration data to file

the source code is also provided under C:\CalibrationToolAPI\2.5.2.0\examples
best

@RealSense-Customer-Engineering
Copy link
Collaborator

[Realsense Customer Engineering Team Comment]
Hi @super-scyu,
could the calibrationAPI package solve your problem?

@RealSense-Customer-Engineering
Copy link
Collaborator

[Realsense Customer Engineering Team Comment]
Hi @super-scyu,
are the two package provided through below link can help on your need?
https://downloadcenter.intel.com/download/27415/Intel-RealSense-D400-Series-Dynamic-Calibration-Software-Tools

@narutojxl
Copy link

narutojxl commented Oct 25, 2019

when launch D435 roslaunch realsense2_camera rs_camera.launch, there are some info topics about intrinsic, and some extrinsics topics about extrinsic params. Launch urdf file roslaunch realsense2_description view_d435_model.launch to see better.

/camera/color/camera_info
/camera/depth/camera_info, /camera/infra1/camera_info, /camera/infra2/camera_info, the 3 topics are the same.
/camera/extrinsics/depth_to_color
/camera/extrinsics/depth_to_infra1
/camera/extrinsics/depth_to_infra2

But it is wired that distortion params in info topic are all 0, Does anyone know how to get these params, not by do a calibration to camera by user?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants