Kamera bokeh, bir sahnenin bazı bölümlerinin odakta kalmaması için bulanıklaştırılmasıyla oluşturulan sığ bir alan derinliği efektidir. Mobil cihazlardaki kameralarda bokeh efekti, iki kameranın stereo görüşünden veya tek bir kameranın çift fotodiyodundan (PD) elde edilen derinlik bilgileri kullanılarak elde edilir.
Android 11'den itibaren Android platformu, bokeh uygulamalarını destekler ve özelliği üçüncü taraf uygulamalarına sunmak için API'ler sağlar.
Uygulama
Kamera bokeh özelliğini cihazınızda kullanabilmek için aşağıdakileri yapın:
ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZES
reklamı yapın:Bu etiket, her biri
{mode, maxWidth, maxHeight}
biçiminde olan üç tam sayı kümesi dizisi biçimindedir. Kamera HAL'i,{ANDROID_CONTROL_EXTENDED_SCENE_MODE_DISABLED, 0, 0}
'e ek olarakANDROID_CONTROL_EXTENDED_SCENE_MODE_BOKEH_STILL_CAPTURE
veANDROID_CONTROL_EXTENDED_SCENE_MODE_BOKEH_CONTINUOUS
modlarından birini veya ikisini de karşılık gelen maksimum akış boyutlarıyla birlikte listelemelidir.ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_ZOOM_RATIO_RANGES
için reklam verin:Bu etiket, etkin bir genişletilmiş sahne modu için tüm yakınlaştırma oranı aralıklarını
ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZES
ile aynı sırada içeren bir{minZoomRatio, maxZoomRatio}
dizisi biçimindedir.[1.0, 1.0]
olan yakınlaştırma aralığı, yakınlaştırmanın desteklenmediği anlamına gelir.ANDROID_CONTROL_AVAILABLE_MODES
konumundaANDROID_CONTROL_USE_EXTENDED_SCENE_MODE
değerini doldurun.
Bir uygulamanın bokeh özelliğini tetiklemesi için ANDROID_CONTROL_MODE
değerini ANDROID_CONTROL_USE_EXTENDED_SCENE_MODE
olarak, ANDROID_CONTROL_EXTENDED_SCENE_MODE
değerini ise desteklenen genişletilmiş sahne modlarından birine ayarlamalıdır.
Bokeh'in uygulanmasının, stereo hesaplama nedeniyle ek bellek tüketimine yol açabileceğini unutmayın.
Desteklenen genişletilmiş sahne modu kare başına uygulanamıyorsa ve etkinleştirildiğinde/devre dışı bırakıldığında beklenmedik gecikmelere neden oluyorsa ANDROID_CONTROL_EXTENDED_SCENE_MODE
öğesini ANDROID_REQUEST_AVAILABLE_SESSION_KEYS
içine ekleyin. Aynı zamanda, yeniden yapılandırma gerektirmeyen genişletilmiş sahne modlarında yeniden yapılandırma yapılmasını önlemek için ICameraDeviceSession::isReconfigurationRequired()
yöntemini uygulayın.
Doğrulama
Cihazınızdaki bokeh özelliğini doğrulamak için aşağıdaki CTS, VTS ve CTS Doğrulayıcı testlerini çalıştırın:
CtsCameraTestCases
VtsHalCameraProviderV2_4TargetTest
- CTS Doğrulayıcı'da
CameraBokehTest