Sdílet prostřednictvím


Vnitřní funkce fotoaparátu

Ovladač fotoaparátu (nebo případně prostřednictvím DMFT) může připojit vnitřní atribut kamery k úložišti atributů datového proudu pomocí MFStreamExtension_PinholeCameraIntrinsics nebo připojit k úložišti atributů snímku média pomocí MFSampleExtension_PinholeCameraIntrinsics. Pokud je připojen k úložišti atributů datového proudu, hodnoty vnitřních parametrů kamery se během streamování kamery nezmění. Pokud je systém připojen k úložišti atributů rámce médií, může se vnitřní hodnota měnit pro každý rámec.

U výše uvedených dvou atributů musí být hodnota strukturou typu MFPinholeCameraIntrinsics, která hlásí seznam vnitřních modelů fotoaparátu. Každá položka v tomto seznamu má typ MFPinholeCameraIntrinsic_IntrinsicModel, který obsahuje rozlišení (šířku/výšku), model dírky a model MFCameraIntrinsic_DistortionModel zkreslení.

Při použití MFPinholeCameraIntrinsics s úložištěm atributů streamu musí tento seznam obsahovat alespoň jeden a možná mnoho vnitřních modelů. Systém vybere intrinsický model na základě formátu aktivně streamovaného snímku tím, že porovná šířku a výšku snímků. Pokud se najde přesná shoda, použijí se intrinsiky. Jinak se místo toho použijí první parametry se stejným poměrem stran, například pokud seznam obsahuje dvě položky, 640x480 a 1920x1080. Pokud streamujete s formátem médií o rozměrech 1280x720, intrinzické parametry 1080p se budou používat se správným škálováním.

Při použití MFPinholeCameraIntrinsics s úložištěm atributů rámce médií musí tento seznam obsahovat přesně jeden vnitřní model se stejným rozlišením jako rozlišení rámce.