使用filter进行深度数据的滤波¶
滤波器类型统一继承自 BaseFilter
。
方法口协议如下:
virtual bool ProcessFrame(
std::shared_ptr<Image> out,
const std::shared_ptr<Image> in) = 0; // NOLINT
virtual bool LoadConfig(void* data);
inline bool TurnOn();
inline bool TurnOff();
inline bool IsEnable();
int main(int argc, char const* argv[]) {
...
SpatialFilter spat_filter;
TemporalFilter temp_filter;
...
for (;;) {
// get frame
...
spat_filter.ProcessFrame(image_depth.img, image_depth.img);
temp_filter.ProcessFrame(image_depth.img, image_depth.img);
...
}
小技巧
使用时,实例化一个 Filter
,然后直接在图像处理循环中使用 ProcessFrame
,方法如上。
图像会实时随图像信息变化自适应,也可以实时的使用 TurnOn/TurnOff
开关。