Comments (13)
Hi @ybefe The D405 camera model is designed for close-range depth sensing, with an ideal depth range of 7 cm to 50 cm. The D405 therefore has a different default depth scale value (0.01) to the rest of the models in the RealSense 400 Series range (which have a default depth scale of 0.001).
If you are using the camera at a distance from the object then you could therefore try using the rs.option.depth_units instruction to change the depth scale to 0.001 to see whether it makes a difference.
depth_sensor.set_option(rs.option.depth_units, 0.001)
The accuracy of the x and y coordinates can also drift when moving away from the center if the get_distance() instruction is used in the program script.
from librealsense.
I did use get_distance() to get the 3D coordinates of the point, so how do I fix this? @MartyG-RealSense
from librealsense.
Are you performing depth to color alignment before calling the get_distance() instruction?
from librealsense.
align = rs.align(rs.stream.color)
frames = pipeline.wait_for_frames()
aligned_frames = align.process(frames)
aligned_color_frame = aligned_frames.get_color_frame()
aligned_depth_frame = aligned_frames.get_depth_frame() I think I'm supposed to be aligned
from librealsense.
Yes, it is correct to use depth to color alignment. Either the aligned intrinsics or the color intrinsics should be used, as using the depth intrinsics can cause the inaccuracy at the outer edges of the image that you experienced. This is because the origin point of depth changes to the color stream's origin point when depth to color alignment is performed.
from librealsense.
So how to use the aligned intrinsics or the color intrinsics
from librealsense.
A Python get_distance() script at the link below that uses color intrinsics should be a helpful reference.
https://support.intelrealsense.com/hc/en-us/community/posts/23541262437011/comments/23566066750355
color_intrin = aligned_color_frame.profile.as_video_stream_profile().intrinsics
from librealsense.
align = rs.align(rs.stream.color)->align = rs.align(rs.stream.depth)
dis, camera_coordinate = get_3d_camera_coordinate(depth_pixel, aligned_depth_frame, depth_intrin)->
dis, camera_coordinate = get_3d_camera_coordinate(depth_pixel, aligned_depth_frame, color_intrin)
It's probably just using color alignment, and then using the camera parameters to find the 3D coordinates,right?
from librealsense.
When using align_to(), the alignment calculations are handled by a software routine in the SDK called the align processing block that performs automated adjustments, such as adjusting for differences in resolution between the streams or resizing the depth's field of view size to match the field of view size of color.
Things are a little more complicated on the D405 model, as it does not have a dedicated RGB sensor and its color is provided by the depth sensor and passed through an Image Signal Processor (ISP) chip to produce the final color image. The color intrinsics should still be different from the depth intrinsics though.
from librealsense.
So I should use align = rs.align(rs.stream.color) and color_intrin ,right?
from librealsense.
Yes, align to color and use color intrinsics.
from librealsense.
Thank you very much!
from librealsense.
Related Issues (20)
- SOFTWARE DOESN'T RECOGNIZE REALSENSE SR300 CAMERA HOT 16
- Manually align the depth image with the color image. HOT 9
- this is a big dan!!!!!! HOT 3
- RealSense BGRA Buffer Doesn't Work with ZXing HOT 5
- Frame didn't arrive within 5000 on macOS HOT 5
- Android App Freeze At Second Launch HOT 10
- Cannot link to new camera HOT 5
- Access Color Stream from Left Imager in UYVY [16 bits] format HOT 6
- The D435 camera is producing inconsistent data while performing in different light conditions. HOT 3
- Realsense-viewer does not detect L515 camera on ubuntu 20.04 HOT 7
- window 10 can't install realsense viewer HOT 2
- There were two errors when I make this project. It was Building CXX object CMakeFiles/realsense2.dir/src/ds/d400/d400-motion.cpp.o. HOT 2
- How to correct the distortion in D405, I found that when the object is too large or not in the center, the x,y coordinates of the detected point are not quite correct
- How to correct the distortion in D405, I found that when the object is too large or not in the center, the x,y coordinates of the detected point are not quite correct
- patch-realsense-ubuntu-lts-hwe.sh Unsupported kernel version 6.5.0-35-generic HOT 4
- Fixing X and Y Coordinate Offsets in AprilTag Detection with Intel RealSense HOT 10
- Troubles with T265 IMU coordinate system. HOT 1
- E: Unable to locate package librealsense2-dkms in ubuntu 20.04.5 LTS version. HOT 6
- L515 camera significant misalignment on the left side HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from librealsense.