luxonis / depthai-core

DepthAI C++ Library
MIT License
235 stars 127 forks source link

Feature Request: Add `maxSensitivityIso` to `setAutoExposureLimit()` #1023

Closed maxsitt closed 5 months ago

maxsitt commented 6 months ago

With setAutoExposureLimit() a limit for the maximum exposure time can be set. This is very helpful, e.g. to avoid overexposed frames/images.

With the current implementation, only the maximum exposure time can be set. Depending on the configuration (e.g. using setAutoExposureRegion()), the produced frames can still be too bright, as ISO is increased even with the auto exposure limit.

Would it be possible to add a second parameter for maxSensitivityIso as in setManualExposure() also for setAutoExposureLimit()? This would give us more control over the camera behaviour under challenging lighting conditions and could avoid frames getting too bright due to high ISO values.

Thanks!

themarpe commented 6 months ago

@alex-luxonis is this possible?

Erol444 commented 5 months ago

ping @alex-luxonis

alex-luxonis commented 5 months ago

No internal API available for that, but maybe we could tweak the tuning to set an ISO range on pipeline startup.

maxsitt commented 5 months ago

@alex-luxonis Thanks for looking into this!

Could you explain what you mean with "tweak the tuning"? Sorry that I don't understand what exactly you mean by this.

The possibility to set a range or limit for not only auto exposure time, but also ISO would definitely benefit various scenarios. In our use case, we would like to avoid frames getting too bright when using setAutoExposureRegion() in combination with detections. In our tests, we could often observe very bright frames due to small, dark (sometimes false) detections, which in turn influences the detection model. Using setAutoExposureLimit() did not solve this problem, as ISO is still increased.

themarpe commented 5 months ago

@maxsitt apart form modifying the imager/sensor tuning files (which requires Intel tools), there is no means of achieving this on RVC2 platform.

We'll have to close as wontfix as its not easily doable