-
Notifications
You must be signed in to change notification settings - Fork 790
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
Getting T265 fisheye image? #857
Comments
in dual mode T265 provides odometry and D400 provides point cloud...based on odometry the point cloud of D400 get stitched...If you can point out what exactly you want to use the T265 camera frame for may be it will be more helpful.. |
@sumitsarkar1 |
I guess on ROS platform you can do...just view the topic published in rviz...if your are using standalone RtabMap then just check inside |
@sumitsarkar1 /// CameraRealSense2.cpp line 1427, captureImage() func which is called by takeImage() func
else if(is_right_fisheye_arrived)
{
cv::Mat left,right;
if(rectifyImages_ && stereoModel_.left().isValidForRectification() && stereoModel_.right().isValidForRectification())
{
left = stereoModel_.left().rectifyImage(cv::Mat(rgbBuffer_.size(), rgbBuffer_.type(), (void*)rgb_frame.get_data()));
right = stereoModel_.right().rectifyImage(cv::Mat(depthBuffer_.size(), depthBuffer_.type(), (void*)depth_frame.get_data()));
}
else
{
left = cv::Mat(rgbBuffer_.size(), rgbBuffer_.type(), (void*)rgb_frame.get_data()).clone();
right = cv::Mat(depthBuffer_.size(), depthBuffer_.type(), (void*)depth_frame.get_data()).clone();
}
if(stereoModel_.left().imageHeight() == 0 || stereoModel_.left().imageWidth() == 0)
{
stereoModel_.setImageSize(left.size());
}
data = SensorData(left, right, stereoModel_, this->getNextSeqID(), stamp);
} I see the data is kind of getting T265 image, but I can't get I can change source code, and re-build Rtabmap, but I think It is kind of a bad turnaround. |
try to do |
To get fisheye images from T265 with CameraRealsense2, you should use realsense sdk <=2.42 or fix it in latest realsense release. You would need to calibrate T265 to be used by rtabmap, this can be done following those instructions: http://official-rtab-map-forum.206.s1.nabble.com/Slam-using-Intel-RealSense-tracking-camera-T265-tp6333p6336.html |
@matlabbe But I can't access to T265 sensor. My code is rtabmap::CameraRealSense2* camera = new rtabmap::CameraRealSense2;
camera->setResolution(1280,720);
const rtabmap::Transform extrinsics(0.006f, 0.0025f, 0.0f, 0.0f, 0.0f, 0.0f);
camera->setOdomProvided(true);
camera->setDualMode(true, extrinsics);
if (!camera->init(".","943222111057")) //943222111057: T265 serial number
{
std::cout << "Setting error \n";
}
if (camera->stereoModel_.left().isFisheye())
{
std::cout << "Calibrated!" << std::endl;
}
But I get false value for stereoModel_.left().isFisheye(). /// CameraRealSense2.cpp / SensorData CameraRealSense2::captureImage(CameraInfo * info) / line 1408
else if(is_left_fisheye_arrived)
{
if(odometryOnlyLeftStream_) // <<< set break point here
{ |
You should not set dual mode, this makes ignoring T265 image data, only odometry is kept. |
Hi. I am trying to use RTAPMAP C++ with T265 + D400 device.
And I use rtabmap::CameraRealSense2 set as dual mode.
And I wanna use T265 Fisheye camera frame, but the only I can takeImage() from D455.
Is there any way to get T265 fisheye camera image?
The text was updated successfully, but these errors were encountered: