Retrieve_image from svo gets different pixel values every run

I am using the ZED sdk and python API to extract color frames from a recorded svo video. I noticed the function retrieve_image() giving me different pixel values in every different run. The pixel value difference is small and if you check the saved images you won’t notice the difference. However, if you print out the pixel values, you will see a value difference of 2 or 3 for uint8 format. Also, when you set the parameter “svo_real_time_mode” to ‘True’ and ‘False’, you will see even bigger differences of the pixel values between two settings, although visually you will still not notice the difference by looking at the saved images. I am quite sure about what I am observing here and don’t think I have made mistakes. Could you please explain what I am seeing? Thanks a lot.

Hi @zhijie
what you are describing is probably due to the SVO compression and the relative decoding process.
Can I ask you to share an SVO and a code snippet to reproduce the problem sending them to support@stereolabs.com?
In this way, we can analyze the behavior that you are describing trying to understand if it’s expected of if there is something to be fixed.

Thanks Myzhar. I am attaching a sample svo file. I couldn’t upload here because it says “new users cannot upload”, so I uploaded to my google drive and here is the link, https://drive.google.com/file/d/1_plWdR1oHHmIKJ9dX1AUqoO51uajdTba/view?usp=sharing. I just print out the first frame’s left_image by “print(left_image.get_data())”, and I can see the last three pixel’s values change in every run as shown in the attached picture. Let me know if you can reproduce it.

image

@zhijie thank you for the data.
We are going to analyze the SVO and we will be back to you with info.

Thanks Myzhar. I’d like to add that the difference between ‘init_params.svo_real_time_mode’ equals to ‘True’ and ‘False’ makes a bigger impact for me. Understanding this difference is very important to me.

Hello, Myzhar. Any update?

Hi @zhijie
your report is still in the queue, it will be analyzed soon.

Hi @zhijie
you can get repeatable results by disabling the Self Calibration:
https://www.stereolabs.com/docs/api/python/classpyzed_1_1sl_1_1InitParameters.html#ad71a767aaa8fb6e8ad02f71bb4bd89c5

Please let me know if that works for you

Very interesting. I think this explains what I see, and I believe it will work. I might not be able to test it soon. If I don’t reply back, it means everything is good. Thanks a lot.