Compartir a través de


Intrínsecos de la cámara

Un controlador de cámara (o, como alternativa, a través de DMFT) puede adjuntar un atributo intrínseco de cámara a un almacén de atributos de secuencia mediante MFStreamExtension_PinholeCameraIntrinsics o asociarlo a un almacén de atributos de fotograma multimedia mediante MFSampleExtension_PinholeCameraIntrinsics. Si se adjunta a un almacén de atributos de secuencia, los valores de los intrínsecos de la cámara no cambian durante el streaming de la cámara. Si se adjunta a un almacén de atributos de marco multimedia, el valor intrínseco podría cambiar para cada fotograma.

Para los dos atributos anteriores, el valor debe ser una estructura de tipo MFPinholeCameraIntrinsics, que informa de una lista de modelos intrínsecos de cámara. Cada entrada de esta lista está con el tipo MFPinholeCameraIntrinsic_IntrinsicModel, que contiene una resolución (ancho/alto), un modelo de pinhole y MFCameraIntrinsic_DistortionModel modelo de distorsión.

Cuando se usa MFPinholeCameraIntrinsics con un almacén de atributos de flujo, esta lista debe contener al menos uno y posiblemente muchos modelos intrínsecos. El sistema elegirá el modelo intrínseco en función del formato de fotograma de streaming activo mediante la coincidencia del ancho y alto de los fotogramas. Si se encuentra una coincidencia exacta, se usarán los intrínsecos. De lo contrario, se usarán los primeros intrínsecos con la misma relación de aspecto, por ejemplo, cuando la lista contenga dos entradas, 640x480 y 1920x1080, respectivamente. Si el streaming con un formato multimedia 1280x720, los intrínsecos de 1080p se usarán con el escalado adecuado.

Cuando se usa MFPinholeCameraIntrinsics con un almacén de atributos de marco multimedia, esta lista debe contener exactamente un modelo intrínseco con la misma resolución que la resolución de fotogramas.