相机内部函数

相机驱动程序 (或者通过 DMFT) 可以使用 MFStreamExtension_PinholeCameraIntrinsics 将相机内部函数属性附加到流属性存储,或使用 MFSampleExtension_PinholeCameraIntrinsics 附加到媒体帧属性存储。 如果它附加到流属性存储区,相机内部函数的值在相机流式处理期间不会更改。 如果它附加到媒体帧属性存储区,则内部函数值可能会因每个帧而更改。

对于上述两个属性,该值必须是 MFPinholeCameraIntrinsics 类型的结构,用于报告相机内部模型的列表。 此列表中的每个条目都带有 类型MFPinholeCameraIntrinsic_IntrinsicModel,包含分辨率 (宽度/高度) 、针孔模型和 MFCameraIntrinsic_DistortionModel 失真模型。

MFPinholeCameraIntrinsics 与流属性存储配合使用时,此列表必须至少包含一个内部模型,并且可能包含许多内部模型。 系统将通过匹配帧的宽度和高度,根据主动流式处理帧格式选取内部函数模型。 如果找到完全匹配项,将使用内部函数。 否则,将改用具有相同纵横比的第一个内部函数,例如,当列表分别包含两个条目 640x480 和 1920x1080 时。 如果使用 1280x720 媒体格式进行流式处理,则将使用 1080p 内部函数进行适当缩放。

MFPinholeCameraIntrinsics 与媒体帧属性存储配合使用时,此列表必须恰好包含一个与帧分辨率相同的分辨率的内部函数模型。