KSPROPERTY_CAMERACONTROL_EXTENDED_BACKGROUNDSEGMENTATION
KSPROPERTY_CAMERACONTROL_EXTENDED_BACKGROUNDSEGMENTATION è un ID proprietà usato per controllare la sfocatura dello sfondo sul driver.
Questa proprietà controlla una correzione in flusso che un driver può eseguire per abilitare la correzione di immagini di alta qualità da usare con immagini di anteprima e registrate. La correzione in flusso deve essere abilitata e disabilitata nel driver in modo uniforme, in modo che le funzionalità possano essere controllate da Windows o da un'applicazione.
Esempi di impostazione dei controlli KSPROPERTY sono disponibili in AVStream Camera Sample Driver in GitHub.
Eseguire l'aggiornamento al controllo KSPROPERTY_CAMERACONTROL_EXTENDED_BACKGROUNDSEGMENTATION
A partire da Windows 11 versione 22H2, la modalità messa a fuoco superficiale è stata introdotta nel controllo della segmentazione in background esistente come funzionalità facoltativa.
KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_SHALLOWFOCUS è un nuovo flag aggiunto al controllo KSPROPERTY_CAMERACONTROL_EXTENDED_BACKGROUNDSEGMENTATION utilizzato per controllare bokeh (modalità messa a fuoco superficiale) sul driver. Si tratta di una versione di sfocatura dello sfondo KSPROPERTY_CAMERACONTROL_EXTENDED_BACKGROUNDSEGMENTATION, in cui l'enfasi è meno sulla privacy e più su come rendere lo sfondo dell'utente sembra da una fotocamera di qualità superiore con profondità di effetto campo. Questo visivamente farà risaltare il soggetto in primo piano, simile a come la fotografia in modalità verticale su molti telefoni cellulari è diventato popolare.
Tabella di riepilogo dell'utilizzo
Scope | Control | Tipo |
---|---|---|
Versione 1 | Filtra | Sincrono |
I flag seguenti possono essere inseriti nella KSCAMERA_EXTENDEDPROP_HEADER. Campo flag per controllare la modalità messa a fuoco superficiale.
#define KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_OFF 0x0000000000000000
#define KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_BLUR 0x0000000000000001
#define KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_MASK 0x0000000000000002
#define KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_SHALLOWFOCUS 0x0000000000000004
Se il driver supporta questo controllo, deve supportare BACKGROUNDSEMENTATION_OFF e uno o più degli altri flag.
Se il driver non supporta la segmentazione in background, il driver non deve implementare questo controllo.
La chiamata SET di questo controllo avrà effetto anche quando il segnaposto video o foto si trova nello stato KSSTATE_RUN. In una chiamata GET, il driver deve restituire le impostazioni correnti nel campo Flag.
Nella tabella seguente vengono descritte le funzionalità del flag.
Flag | Descrizione |
---|---|
KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_OFF | Si tratta di una funzionalità obbligatoria. Se specificato, la segmentazione di sfondo viene disabilitata nel driver. Si tratta del valore predefinito. |
KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_BLUR | Si tratta di una funzionalità facoltativa. Se specificato, la sfocatura dello sfondo è abilitata nel driver e si applica al frame, se possibile. |
KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_MASK | Si tratta di una funzionalità facoltativa. Se specificato, la produzione dei metadati della maschera di sfondo viene abilitata nel driver (se possibile, dato il mediaType usato come espresso tramite il set di KSPROPERTY_CAMERACONTROL_EXTENDED_ BACKGROUNDSEGMENTATION_CONFIGCAPS restituito nel campo Dimensioni del KSCAMERA_EXTENDEDPROP_HEADER). Si noti che questo può essere supportato non solo per le fotocamere a colori, ma anche per le fotocamere di profondità e ir. |
KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_SHALLOWFOCUS | Si tratta di una funzionalità facoltativa. Se specificato insieme a KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_BLUR , lo stato attivo superficiale viene abilitato nel driver. |
Nota
Dal punto di vista SET, è necessario aggiungere KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_SHALLOWFOCUS insieme a KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_BLUR per rendere effettive; Possono anche essere impostati insieme a KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_MASK.
La tabella seguente contiene le descrizioni e i requisiti per i campi della struttura KSCAMERA_EXTENDEDPROP_HEADER quando si usa il controllo .
Membro | Descrizione |
---|---|
Versione | Deve essere 1. |
PinId | Deve essere KSCAMERA_EXTENDEDPROP_FILTERSCOPE (0xFFFFFFFF). |
Dimensione | Deve essere sizeof(KSCAMERA_EXTENDEDPROP_HEADER) + sizeof(KSCAMERA_EXTENDEDPROP_VALUE). |
Risultato | Inutilizzato, deve essere 0. |
Funzionalità | Deve essere un OR bit per bit dei flag supportati KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION _* definiti in precedenza. |
Flags | Si tratta di un campo di lettura/scrittura. Può trattarsi di uno qualsiasi dei flag _* KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION definiti in precedenza, ad eccezione di SHALLOWFOCUS (che deve essere impostato insieme a BLUR per rendere effettive) o combinazioni valide dei bit. Dal punto di vista SET, la modalità messa a fuoco superficiale verrà abilitata solo quando sia SHALLOWFOCUS che BLUR sono impostati contemporaneamente, possono essere impostati insieme a MASK. |
Requisiti
Client minimo supportato: Windows 11, versione 22H2
Intestazione: ksmedia.h (include Ksmedia.h)
Vedi anche
Esempio di driver per la modalità verticale di segmentazione dello sfondo e sguardo fisso
KSPROPERTY_CAMERACONTROL_EXTENDED_EYEGAZECORRECTION