Exposure Time
Introduction
The exposure time, also known as shutter speed, is the amount of time that a single camera image is exposed to light. In other words, for how long the shutter remains open.
A Zivid camera takes multiple images to generate color image and point cloud, and the exposure time setting is the exposure time of an individual image.
Zivid 2 |
Zivid 2+ |
Zivid 2+ R |
|
Minimum exposure time (µs) |
1 677 |
1 677 |
900 |
Maximum exposure time (µs) |
100 000 |
100 000 |
40 000 |
Tip
Check out the Capture Speed Calculator to see how exposure time affects the total capture time.
Interference from strong ambient light sources
When taking images with a Zivid camera, we are sampling light information in a certain time window. By utilizing this simple concept, it is possible to avoid many issues that can arise from ambient light.
Structured light sensors are sampling systems that operate with similar sampling rates as many utilities such as TVs and lighting. A fluorescent lamp typically connects to the power line, which is an AC power source. In the EU this power source produces electrical voltage as a sine with a frequency of 50 Hz. In other countries, such as the US, the power line frequency is 60 Hz.
Consider a video camera with a frame rate of 30 fps. Direct it at a fluorescent lamp in Europe and hit record. You will find that there appears to be flickering in the video. You have probably experienced this phenomenon when filming with a smartphone inside a garage or warehouse.
Now consider a video camera where the capture rate matches the frequency of the ambient light source. You would end up sampling light with the same phase in each image, and the flickering would appear to be gone. This would make the light appear constant.
The explained concept is called correlated sampling and has favorable effects in structured light 3D scanners. It enables to filter out noise that varies with time from an ambient light source by choosing an exposure time that satisfies the equation below:
where
Use sampling rates (exposure times) in the multiples of the grid period in the presence of strong flickering ambient light sources:
Multiples of 10 000 µs in the presence of 50 Hz grid frequency.
Multiples of 8 333 µs in the presence of 60 Hz grid frequency.
Light sources that have DC power sources, such as spotlights, or LEDs with ≥1kHz will not cause noise that varies with time.
Effect of Interference on the Point Cloud
Note
Ambient light adaption is only necessary in the presence of strong ambient light. Any exposure time will typically suffice in normal working conditions when the camera projector is the dominating light source.
Measuring ambient light flicker frequency
The Zivid camera can detect flickering in the scene and differentiate between 50 Hz and 60 Hz grid interference.
Open Zivid Studio and connect to your camera. Click on the three dots in the Capture section. Then click Measure scene lighting conditions. The software will display the detected ambient light flicker frequency.

Alternatively, use the SDK to measure the ambient light conditions. This method will report whether significant ambient light flicker is detected and if it corresponds to a 50 Hz or 60 Hz power grid.
std::cout << "Measuring scene conditions" << std::endl;
auto sceneConditions = camera.measureSceneConditions();
auto flickerClassification = sceneConditions.ambientLight().flickerClassification().toString();
std::cout << flickerClassification << std::endl;
auto flickerFrequency = sceneConditions.ambientLight().flickerFrequency();
std::cout << "Measured flickering frequency in the scene: " << flickerFrequency << " Hz." << std::endl;
Console.WriteLine("Measuring scene conditions");
var sceneConditions = camera.MeasureSceneConditions();
var FlickerClassification = sceneConditions.AmbientLight.FlickerClassification.ToString();
var flickerFrequency = sceneConditions.AmbientLight.FlickerFrequency;
Console.WriteLine($"Measured flickering frequency in the scene: {flickerFrequency} Hz.");
print("Measuring scene conditions")
scene_conditions = camera.measure_scene_conditions()
flicker_classification = scene_conditions.ambient_light.flicker_classification
flicker_frequency = scene_conditions.ambient_light.flicker_frequency
print(f"The measured flickering frequency in the scene: {flicker_frequency} Hz.")
50 Hz ambient light adaption
The table below shows some of the recommended exposure times to use in countries that use 50 Hz power line frequencies. Be aware that you can also use other multiples of 10 000 µs, such as 30 000 µs and 50 000 µs.
Exposure time (µs) |
10 000 |
20 000 |
40 000 |
80 000 |
100 000 |
Stops |
0 |
+1 |
+2 |
+3 |
+3.32 |
60 Hz ambient light adaption
The table below shows some of the recommended exposure times to use in countries that use 60 Hz power line frequencies. Be aware that you can also use other multiples of 8 333 µs, such as 24 999 µs and 41665 µs.
Exposure time (µs) |
83 33 |
16 667 |
33 333 |
66 667 |
83 333 |
Stops |
0 |
+1 |
+2 |
+3 |
+3.32 |
Version History
SDK |
Changes |
---|---|
2.16.0 |
Added support for measuring ambient light flicker frequency. |
2.14.0 |
Added support for Zivid 2+ MR130, LR110, and MR60, with a minimum exposure time of 900 µs. |