Quantcast
Channel: Raspberry Pi Forums
Viewing all articles
Browse latest Browse all 4899

Camera board • Rapidly changing exposure and gain

$
0
0
Hi,
I am trying to rapidly change sensor settings in order to correctly expose a scene under programmed lighting changes.

I am capturing a sequence of 10 frames. The frames 5, 9 and 10 are marked "GI" (Global Illumination). For those I am trying to set a different analogue gain and exposure time than the other ("OLAT") frames.

To my understanding calling

Code:

app.setControls(libcamera::ControlList)
from the application layer or

Code:

controls_.set()
below adds a request to the queue which gets applied after the requests in front of it have been processed. The length of the queue is not accessible to the user, it seems. (Does it make sense to track it via a counter?)

I suspect the queue directly maps to the amount of buffers defined - Is that so? I experimented with a couple of buffer count settings and settled on a buffer count of 4 for now, as it requires the least memory while still enabling high frame rates.

the frames are scheduled to produce the following result

Code:

1 2 3 4 5 6 7 8 9 10O O O O X O O O X X
with 4 buffers and applying the settings 4 frames ahead of time the results are:

Code:

1 2 3 4 5 6 7 8 9 10O X O O O X O O O X 
Trying to apply the settings with any (arbitrary) number of leading frames either yields no alternating settings (all O) or the same pattern [ X O O O] shifted left or right, but never matching the desired frames.

Changing the amount of buffers only changes the pattern length (f.e.

Code:

[X O O]
,

Code:

[X O O O O]
/but never consecutive X).

Does anybody have a tip, what I may be misunderstanding?

Statistics: Posted by steve1000 — Thu Jul 11, 2024 10:48 am



Viewing all articles
Browse latest Browse all 4899

Trending Articles