Force AE to strictly respect MeteringPoint

51 views
Skip to first unread message

Nathan AUDVARD

unread,
Jan 26, 2026, 9:58:24 AMJan 26
to Android CameraX Discussion Group
Hi,

I'm working with CameraX and implementing a custom AE zone using FocusMeteringAction.

I've noticed that the AE algorithm seems to look outside the zone, I think to avoid burning some part of the picture. However, for my use case, I need the exposure to be optimized strictly for the content inside the AE zone. I do not mind if the rest of the image is overexposed.

I'm using CameraX 1.5.2.

Is there a way to force AE to ignore the outside region ?

Thanks!

Tahsin Masrur

unread,
Jan 26, 2026, 12:19:20 PMJan 26
to Android CameraX Discussion Group, n.au...@dental-monitoring.com
Hi,

I guess this matches with the feature request issue we have created at https://issuetracker.google.com/issues/477810106?

I don't think there's any easy way to do this for users with the current public APIs of CameraX, we will need to add a new API. Just from the top of my head, I am thinking it can be new overloads of the FocusMeteringAction.Builder#Builder and FocusMeteringAction.Builder#addPoint functions which accept a `lockingMode` in addition. For example,

```
cameraControl.startFocusAndMetering(
    FocusMeteringAction.Builder(
            point,
            lockingMode = FLAG_AF or FLAG_AE or FLAG_AWB // Default is just FLAG_AF
        )
        .build()
)
```

What do you think? Does this satisfy your requirements?





Nathan AUDVARD

unread,
Jan 27, 2026, 4:42:30 AMJan 27
to Android CameraX Discussion Group, tah...@google.com, Nathan AUDVARD
Thanks for the quick reply. 

Actually, my requirement is spot metering. The current implementation seems to act like matrix/evaluative metering (taking the rest of the scene into account), whereas I need the exposure to be calculated solely based on the metering point.

Scott Nien

unread,
Feb 4, 2026, 11:38:03 PM (13 days ago) Feb 4
to Nathan AUDVARD, Android CameraX Discussion Group, tah...@google.com

Will using a smaller size for the MeteringPoint work for you? 

When constructing the MeteringPoint,  you can specify an additional size parameter (0.. 1.0f)
Like the following:

factory.createPoint(e.getX(), e.getY(), 0.1f).  //Default size is 0.15f 




--
You received this message because you are subscribed to the Google Groups "Android CameraX Discussion Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to camerax-develop...@android.com.
To view this discussion visit https://groups.google.com/a/android.com/d/msgid/camerax-developers/584647a6-e89f-4d49-b471-0719baf70466n%40android.com.
Reply all
Reply to author
Forward
0 new messages