Condividi tramite


Parametri intrinseci della fotocamera

Un driver della fotocamera (o in alternativa, tramite DMFT) può collegare un attributo intrinseco della fotocamera a un archivio di attributi di flusso usando MFStreamExtension_PinholeCameraIntrinsics o collegarsi a un archivio di attributi dei fotogrammi multimediali usando MFSampleExtension_PinholeCameraIntrinsics. Se è collegato a un archivio di attributi di flusso, i valori dei parametri intrinseci della fotocamera non cambiano durante lo streaming video dalla fotocamera. Se è collegato a un archivio di attributi dei fotogrammi multimediali, il valore intrinseco potrebbe cambiare per ogni fotogramma.

Per i due attributi precedenti, il valore deve essere una struttura di tipo MFPinholeCameraIntrinsics, che segnala un elenco di modelli intrinseci della fotocamera. Ogni voce di questo elenco è di tipo MFPinholeCameraIntrinsic_IntrinsicModel, contenente una risoluzione (larghezza/altezza), un modello pinhole e un modello di distorsione MFCameraIntrinsic_DistortionModel.

Quando si usa MFPinholeCameraIntrinsics con un archivio di attributi di flusso, questo elenco deve contenere almeno uno oppure molti modelli intrinseci. Il sistema sceglierà il modello intrinseco in base al formato dei fotogrammi in streaming attivo, abbinando la larghezza e l'altezza dei fotogrammi. Se viene trovata una corrispondenza esatta, verranno usate le funzioni intrinseche. In caso contrario, verranno utilizzati i primi intrinseci con medesime proporzioni, ad esempio quando l'elenco contiene due voci, rispettivamente 640x480 e 1920x1080. Se si utilizza lo streaming con un formato multimediale 1280x720, verranno utilizzati gli intrinseci 1080p con il corretto ridimensionamento.

Quando si usa MFPinholeCameraIntrinsics con un archivio di attributi dei fotogrammi multimediali, questo elenco deve contenere esattamente un modello intrinseco con la stessa risoluzione dei fotogrammi.