Il bokeh della fotocamera è un effetto di profondità di campo creato sfocando parti di una scena in modo che non sia a fuoco. Sulle fotocamere dei dispositivi mobili, l'effetto bokeh è ottenuto utilizzando informazioni di profondità acquisite dalla visione stereo di due fotocamere o da due fotodiodi (PD) di un'unica fotocamera.
A partire da Android 11, la piattaforma Android supporta le implementazioni in modalità bokeh e fornisce le API per rendere disponibile la funzionalità alle app di terze parti.
Implementazione
Per rendere disponibile la funzionalità bokeh della fotocamera sul tuo dispositivo:
Pubblicizza
ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZES
:Questo tag è nel formato di un array di tuple di tre interi, con ogni tupla nel formato
{mode, maxWidth, maxHeight}
. Oltre a{ANDROID_CONTROL_EXTENDED_SCENE_MODE_DISABLED, 0, 0}
, la videocamera HAL deve elenca una o entrambe le opzioniANDROID_CONTROL_EXTENDED_SCENE_MODE_BOKEH_STILL_CAPTURE
eANDROID_CONTROL_EXTENDED_SCENE_MODE_BOKEH_CONTINUOUS
con i relativi le dimensioni massime dei flussi di dati corrispondenti.Fai pubblicità
ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_ZOOM_RATIO_RANGES
:Questo tag è nel formato di un array
{minZoomRatio, maxZoomRatio}
, che contiene tutti gli intervalli del rapporto di zoom per una scena estesa abilitata , nello stesso ordineANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZES
. Un intervallo di zoom di[1.0, 1.0]
indica che lo zoom non è supportato.Compila
ANDROID_CONTROL_USE_EXTENDED_SCENE_MODE
inANDROID_CONTROL_AVAILABLE_MODES
.
Per attivare la funzionalità bokeh, un'app deve impostare ANDROID_CONTROL_MODE
a ANDROID_CONTROL_USE_EXTENDED_SCENE_MODE
e
ANDROID_CONTROL_EXTENDED_SCENE_MODE
a una delle modalità scena estese supportate.
Tieni presente che l'implementazione della modalità bokeh potrebbe comportare un maggior consumo di memoria a causa del
il calcolo stereo.
Se non è possibile applicare una modalità scena estesa supportata a ogni fotogramma
ritardi imprevisti in caso di attivazione/disattivazione, includono
ANDROID_CONTROL_EXTENDED_SCENE_MODE
pollici
ANDROID_REQUEST_AVAILABLE_SESSION_KEYS
. Allo stesso tempo, implementa
ICameraDeviceSession::isReconfigurationRequired()
metodo da evitare
per le modalità scena estese che non richiedono una riconfigurazione.
Convalida
Per convalidare la funzionalità bokeh sul tuo dispositivo, esegui i seguenti controlli CTS, VTS e Test dello strumento di verifica CTS:
CtsCameraTestCases
VtsHalCameraProviderV2_4TargetTest
CameraBokehTest
nello strumento di verifica CTS