Table of Contents

Class InputFrame

命名空間
easyar

輸入幀。 包含圖像、camera參數、時間戳、相機相對於世界坐標系的變換和追蹤狀態。 其中,camera參數、時間戳、相機相對於世界坐標系的變換和追蹤狀態均為可選,但特定的算法組件會對輸入有特定的要求。

InputFrame

方法

index

索引,一個自增量,每個輸入幀不同。

int easyar_InputFrame_index(const easyar_InputFrame * This)
int index()
public int index()
fun index(): Int
- (int)index
public func index() -> Int32
public virtual int index()

傳回值

類型 描述
Int32

image

獲取圖像。

void easyar_InputFrame_image(const easyar_InputFrame * This, easyar_Image * * Return)
std::shared_ptr<Image> image()
public @Nonnull Image image()
fun image(): Image
- (easyar_Image *)image
public func image() -> Image
public virtual Image image()

傳回值

類型 描述
Image

hasCameraParameters

是否包含camera參數。

bool easyar_InputFrame_hasCameraParameters(const easyar_InputFrame * This)
bool hasCameraParameters()
public boolean hasCameraParameters()
fun hasCameraParameters(): Boolean
- (bool)hasCameraParameters
public func hasCameraParameters() -> Bool
public virtual bool hasCameraParameters()

傳回值

類型 描述
Boolean

cameraParameters

獲取camera參數。

void easyar_InputFrame_cameraParameters(const easyar_InputFrame * This, easyar_CameraParameters * * Return)
std::shared_ptr<CameraParameters> cameraParameters()
public @Nonnull CameraParameters cameraParameters()
fun cameraParameters(): CameraParameters
- (easyar_CameraParameters *)cameraParameters
public func cameraParameters() -> CameraParameters
public virtual CameraParameters cameraParameters()

傳回值

類型 描述
CameraParameters

hasTemporalInformation

是否包含時間資訊(時間戳)。

bool easyar_InputFrame_hasTemporalInformation(const easyar_InputFrame * This)
bool hasTemporalInformation()
public boolean hasTemporalInformation()
fun hasTemporalInformation(): Boolean
- (bool)hasTemporalInformation
public func hasTemporalInformation() -> Bool
public virtual bool hasTemporalInformation()

傳回值

類型 描述
Boolean

timestamp

時間戳。單位為秒。

double easyar_InputFrame_timestamp(const easyar_InputFrame * This)
double timestamp()
public double timestamp()
fun timestamp(): Double
- (double)timestamp
public func timestamp() -> Double
public virtual double timestamp()

傳回值

類型 描述
Double

hasSpatialInformation

是否包含空間資訊(cameraTransform和trackingStatus)。

bool easyar_InputFrame_hasSpatialInformation(const easyar_InputFrame * This)
bool hasSpatialInformation()
public boolean hasSpatialInformation()
fun hasSpatialInformation(): Boolean
- (bool)hasSpatialInformation
public func hasSpatialInformation() -> Bool
public virtual bool hasSpatialInformation()

傳回值

類型 描述
Boolean

cameraTransform

相機相對於世界坐標系的變換。其中camera坐標系與世界坐標系均為右手坐標系。Camera坐標系的原點為相機光心,x軸正方向為右,y軸正方向為上,z軸正方向為光線進入相機的方向。(其中的右和上,指的是相機圖像中的右和上,可能和設備自然方向的可能不同。)數據的排列方式為row-major,與OpenGL的column-major相反。

easyar_Matrix44F easyar_InputFrame_cameraTransform(const easyar_InputFrame * This)
Matrix44F cameraTransform()
public @Nonnull Matrix44F cameraTransform()
fun cameraTransform(): Matrix44F
- (easyar_Matrix44F *)cameraTransform
public func cameraTransform() -> Matrix44F
public virtual Matrix44F cameraTransform()

傳回值

類型 描述
Matrix44F

cameraTransformType

相機變換類型。

easyar_CameraTransformType easyar_InputFrame_cameraTransformType(const easyar_InputFrame * This)
CameraTransformType cameraTransformType()
public int cameraTransformType()
fun cameraTransformType(): Int
- (easyar_CameraTransformType)cameraTransformType
public func cameraTransformType() -> CameraTransformType
public virtual CameraTransformType cameraTransformType()

傳回值

類型 描述
CameraTransformType

trackingStatus

獲取設備運動追蹤狀態: MotionTrackingStatus

easyar_MotionTrackingStatus easyar_InputFrame_trackingStatus(const easyar_InputFrame * This)
MotionTrackingStatus trackingStatus()
public int trackingStatus()
fun trackingStatus(): Int
- (easyar_MotionTrackingStatus)trackingStatus
public func trackingStatus() -> MotionTrackingStatus
public virtual MotionTrackingStatus trackingStatus()

傳回值

類型 描述
MotionTrackingStatus

motion

運動輸入數據。

void easyar_InputFrame_motion(const easyar_InputFrame * This, easyar_OptionalOfMotionInputData * Return)
std::optional<std::shared_ptr<MotionInputData>> motion()
public @Nullable MotionInputData motion()
fun motion(): MotionInputData?
- (easyar_MotionInputData *)motion
public func motion() -> MotionInputData?
public virtual Optional<MotionInputData> motion()

傳回值

類型 描述
Optional<MotionInputData>

tryCreate

創建。

void easyar_InputFrame_tryCreate(easyar_Image * image, easyar_CameraParameters * cameraParameters, double timestamp, easyar_Matrix44F cameraTransform, easyar_CameraTransformType cameraTransformType, easyar_MotionTrackingStatus trackingStatus, easyar_OptionalOfInputFrame * Return)
static std::optional<std::shared_ptr<InputFrame>> tryCreate(std::shared_ptr<Image> image, std::shared_ptr<CameraParameters> cameraParameters, double timestamp, Matrix44F cameraTransform, CameraTransformType cameraTransformType, MotionTrackingStatus trackingStatus)
public static @Nullable InputFrame tryCreate(@Nonnull Image image, @Nonnull CameraParameters cameraParameters, double timestamp, @Nonnull Matrix44F cameraTransform, int cameraTransformType, int trackingStatus)
companion object fun tryCreate(image: Image, cameraParameters: CameraParameters, timestamp: Double, cameraTransform: Matrix44F, cameraTransformType: Int, trackingStatus: Int): InputFrame?
+ (easyar_InputFrame *)tryCreate:(easyar_Image *)image cameraParameters:(easyar_CameraParameters *)cameraParameters timestamp:(double)timestamp cameraTransform:(easyar_Matrix44F *)cameraTransform cameraTransformType:(easyar_CameraTransformType)cameraTransformType trackingStatus:(easyar_MotionTrackingStatus)trackingStatus
public static func tryCreate(_ image: Image, _ cameraParameters: CameraParameters, _ timestamp: Double, _ cameraTransform: Matrix44F, _ cameraTransformType: CameraTransformType, _ trackingStatus: MotionTrackingStatus) -> InputFrame?
public static Optional<InputFrame> tryCreate(Image image, CameraParameters cameraParameters, double timestamp, Matrix44F cameraTransform, CameraTransformType cameraTransformType, MotionTrackingStatus trackingStatus)

參數

名稱 類型 描述
image Image
cameraParameters CameraParameters
timestamp Double
cameraTransform Matrix44F
cameraTransformType CameraTransformType
trackingStatus MotionTrackingStatus

傳回值

類型 描述
Optional<InputFrame>

createWithImageAndCameraParametersAndTemporal

創建,只包含圖像、camera參數和時間戳。

void easyar_InputFrame_createWithImageAndCameraParametersAndTemporal(easyar_Image * image, easyar_CameraParameters * cameraParameters, double timestamp, easyar_InputFrame * * Return)
static std::shared_ptr<InputFrame> createWithImageAndCameraParametersAndTemporal(std::shared_ptr<Image> image, std::shared_ptr<CameraParameters> cameraParameters, double timestamp)
public static @Nonnull InputFrame createWithImageAndCameraParametersAndTemporal(@Nonnull Image image, @Nonnull CameraParameters cameraParameters, double timestamp)
companion object fun createWithImageAndCameraParametersAndTemporal(image: Image, cameraParameters: CameraParameters, timestamp: Double): InputFrame
+ (easyar_InputFrame *)createWithImageAndCameraParametersAndTemporal:(easyar_Image *)image cameraParameters:(easyar_CameraParameters *)cameraParameters timestamp:(double)timestamp
public static func createWithImageAndCameraParametersAndTemporal(_ image: Image, _ cameraParameters: CameraParameters, _ timestamp: Double) -> InputFrame
public static InputFrame createWithImageAndCameraParametersAndTemporal(Image image, CameraParameters cameraParameters, double timestamp)

參數

名稱 類型 描述
image Image
cameraParameters CameraParameters
timestamp Double

傳回值

類型 描述
InputFrame

createWithImageAndCameraParameters

創建,只包含圖像和camera參數。使用該方法創建的輸入只能用於 CloudRecognizer,其他功能都無法工作。

void easyar_InputFrame_createWithImageAndCameraParameters(easyar_Image * image, easyar_CameraParameters * cameraParameters, easyar_InputFrame * * Return)
static std::shared_ptr<InputFrame> createWithImageAndCameraParameters(std::shared_ptr<Image> image, std::shared_ptr<CameraParameters> cameraParameters)
public static @Nonnull InputFrame createWithImageAndCameraParameters(@Nonnull Image image, @Nonnull CameraParameters cameraParameters)
companion object fun createWithImageAndCameraParameters(image: Image, cameraParameters: CameraParameters): InputFrame
+ (easyar_InputFrame *)createWithImageAndCameraParameters:(easyar_Image *)image cameraParameters:(easyar_CameraParameters *)cameraParameters
public static func createWithImageAndCameraParameters(_ image: Image, _ cameraParameters: CameraParameters) -> InputFrame
public static InputFrame createWithImageAndCameraParameters(Image image, CameraParameters cameraParameters)

參數

名稱 類型 描述
image Image
cameraParameters CameraParameters

傳回值

類型 描述
InputFrame

createWithImage

創建,只包含圖像。使用該方法創建的輸入只能用於 CloudRecognizer,其他功能都無法工作。

void easyar_InputFrame_createWithImage(easyar_Image * image, easyar_InputFrame * * Return)
static std::shared_ptr<InputFrame> createWithImage(std::shared_ptr<Image> image)
public static @Nonnull InputFrame createWithImage(@Nonnull Image image)
companion object fun createWithImage(image: Image): InputFrame
+ (easyar_InputFrame *)createWithImage:(easyar_Image *)image
public static func createWithImage(_ image: Image) -> InputFrame
public static InputFrame createWithImage(Image image)

參數

名稱 類型 描述
image Image

傳回值

類型 描述
InputFrame