Condividi tramite


Oggetti 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 delle funzioni intrinseche della fotocamera non cambiano durante lo streaming della 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 di foratura e MFCameraIntrinsic_DistortionModel modello di distorsione.

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

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