FrameFilter Class


FrameFilter is the base class for all filters (including trackers) using frames from FrameStreamer to retrieve infomation from current scene.

You need to call attachStreamer to attach a FrameStreamer to filter first, then the images from the FrameStreamer are used for by the filter. You can call start/stop to enable/disable the filter process. start and stop are very lightweight calls.

You can get a Frame by FrameStreamer.peek which contains current camera image and filter results.


Attach FrameStreamer to the filter. Filter will not start to work until a FrameStreamer is attached.

Attach null object will detach previous attached FrameStreamer from filter.

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


Starts the filter. The filter will not actually start until a FrameStreamer is attached.

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


Stops the filter. Call start to start the filter again.

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