-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
Very noisy RGBD input through pyrealsense2 but not through realsense-viewer #10572
Comments
Hi @fabiopoiesi The first difference between your image and the Viewer's is likely to be that you are performing a rare color to depth alignment with self.__align_to = rs.stream.depth instead of the usual depth to color alignment. On the D435 and D435i camera models where the field of view size of the color sensor is smaller than the depth sensor FOV, color to depth alignment can cause the image to stretch out to fit to the larger depth FOV size. You can test depth to color alignment to see whether it makes a positive difference by using self.__align_to = rs.stream.color The Viewer also applies a range of depth colorization, color scheme and post-processing filter settings by default. In user-created scripts, these settings have to be deliberately programmed into the application. #7767 (comment) and #7089 (comment) provide Python scripting resources for configuring the color scheme and histogram on / off status. A RealSense team member provides an example of Python code for defining post-processing filters at #1672 |
Thanks very much @fabiopoiesi for the update. It's excellent news that you found a solution. Fluorescent lights such as ceiling strip lights can create interference on the image because they contain a heated gas that flickers at frequencies that are difficult to see with the human eye. There are a couple of approaches for dealing with this:
|
I tried setting a different power line frequency, but it didn't help solving the problem when lights are on. I am exploring other parameters amongst the options. Thank you for your support. |
Yes, reflections from a surface make it more difficult for the camera to read depth detail. Adding a physical filter product over the lenses on the outside of the camera can significantly reduce this negative effect, which can also occur outdoors when observing reflective surfaces such as window panes. The image below shows the difference of observing glass without a filter and with one. In the past week Intel also launched a new RealSense model based on the D435 called the D435f that has built-in light filters on its sensors. More information can be found at #10560 |
Another option to try with pyrealsense2 is to save the dev = cfg.get_device()
advnc_mode = rs.rs400_advanced_mode(dev)
advnc_mode.load_json(json_string) as mentioned in issue 6075# |
very useful indeed! thank you |
hey @fabiopoiesi I have solved this problem at my research lab by sticking a polarizing filter made out of plastic on the rgb sensor and stereo module. I think they were intended for office windows. I believe you can find it at a hardware store, but there are also such filters for smartphone screens. I also disbled the autoexposure and set it to a fixed value since our application assumed stable light conditions. You can change this parameter from the realsense viewer and then import the configuration by means of a json file. |
@davidmartinez13 Thanks very much for your advice to @fabiopoiesi :) Hi @fabiopoiesi Do you require further assistance with this case, please? Thanks! |
Case closed due to no further comments received. |
Issue Description
When I access the camera from python I get very noisy inputs like this one (visualised with Open3D):
The same scene seen from the realsense-viewer is instead like this
It is not clear to me why this is happening.
Here is how I start the camera
Here how I access the fames:
This is how I installed pyrealsense2:
The text was updated successfully, but these errors were encountered: