FrameFilter Class

Description

FrameFilter是所有使用 FrameStreamer 的frame获取场景中信息的filter(包括tracker)的基类。

你需要首先调用 attachStreamerFrameStreamer 连接至filter,然后 FrameStreamer 的输出图像将被filter使用。你可以通过start/stop来开始和停止filter。start和stop是非常轻量的调用。

可以使用 FrameStreamer.peek 来获取一帧 Frame 。Frame中包含当前的camera图像和filter的输出结果。

attachStreamer

将FrameStreamer连接到filter。在有FrameStreamer连接之前,filter不会开始工作。

Attach null object 将会断开filter之前与 FrameStreamer 的连接。

C: bool easyar_FrameFilter_attachStreamer(easyar_FrameFilter * This, easyar_FrameStreamer * obj)
C++11: bool attachStreamer(std::shared_ptr<FrameStreamer> obj)
Traditional C++: bool attachStreamer(FrameStreamer * obj)
Java: public native boolean attachStreamer(FrameStreamer obj)
Objective-C: - (bool)attachStreamer:(easyar_FrameStreamer *)obj
Swift (since EasyAR SDK 2.1.0): public func attachStreamer(_ obj: FrameStreamer?) -> Bool

start

开始filter。在有FrameStreamer连接之前filter不会真正开始。

C: bool easyar_FrameFilter_start(easyar_FrameFilter * This)
C++11: bool start()
Traditional C++: bool start()
Java: public native boolean start()
Objective-C: - (bool)start
Swift (since EasyAR SDK 2.1.0): public func start() -> Bool

stop

停止filter。调用start来重新启动filter。

C: bool easyar_FrameFilter_stop(easyar_FrameFilter * This)
C++11: bool stop()
Traditional C++: bool stop()
Java: public native boolean stop()
Objective-C: - (bool)stop
Swift (since EasyAR SDK 2.1.0): public func stop() -> Bool