Fotocamera Bokeh

Il bokeh della fotocamera è un effetto di profondità di campo ridotto creato sfocando parti di una scena in modo che non siano a fuoco. Sulle fotocamere dei dispositivi mobili, il bokeh si ottiene utilizzando le informazioni di profondità acquisite dalla visione stereo di due fotocamere o dai doppi fotodiodi (PD) di una singola fotocamera.

A partire da Android 11, la piattaforma Android supporta le implementazioni bokeh e fornisce API per rendere disponibile la funzionalità alle app di terze parti.

Implementazione

Per rendere disponibile la funzione bokeh fotocamera sul tuo dispositivo, procedi come segue:

  • Pubblicità ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZES :

    Questo tag è sotto forma di una matrice tupla tre numeri interi, con ogni tupla nel formato {mode, maxWidth, maxHeight} . Oltre a {ANDROID_CONTROL_EXTENDED_SCENE_MODE_DISABLED, 0, 0} , l'HAL telecamera deve anche lista di una o entrambe le ANDROID_CONTROL_EXTENDED_SCENE_MODE_BOKEH_STILL_CAPTURE e ANDROID_CONTROL_EXTENDED_SCENE_MODE_BOKEH_CONTINUOUS modi con la massima corrispondente flusso dimensioni.

  • Pubblicità ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_ZOOM_RATIO_RANGES :

    Questo tag è nel formato di un {minZoomRatio, maxZoomRatio} matrice, che contiene tutte le gamme rapporto di zoom per un abilitate modo scena estesa, nello stesso ordine in ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZES . Una gamma di zoom di [1.0, 1.0] significa che lo zoom non è supportato.

  • Popola ANDROID_CONTROL_USE_EXTENDED_SCENE_MODE in ANDROID_CONTROL_AVAILABLE_MODES .

Per un app per attivare la funzione di bokeh, l'applicazione deve impostare ANDROID_CONTROL_MODE a ANDROID_CONTROL_USE_EXTENDED_SCENE_MODE e ANDROID_CONTROL_EXTENDED_SCENE_MODE ad uno dei modi scena avanzati supportati. Nota che l'implementazione del bokeh potrebbe portare a un consumo di memoria extra a causa del calcolo stereo.

Se una modalità scena estesa supportato non può essere applicato per frame e comporta ritardi imprevisti quando abilitata / disabilitata, includere ANDROID_CONTROL_EXTENDED_SCENE_MODE in ANDROID_REQUEST_AVAILABLE_SESSION_KEYS . Allo stesso tempo, l'attuazione del ICameraDeviceSession::isReconfigurationRequired() metodo per evitare di riconfigurazione di modi scena estese che non richiedono la riconfigurazione.

Convalida

Per convalidare la funzione bokeh sul tuo dispositivo, esegui i seguenti test CTS, VTS e CTS Verifier:

  • CtsCameraTestCases
  • VtsHalCameraProviderV2_4TargetTest
  • CameraBokehTest in CTS Verifier