vision
Loading...
Searching...
No Matches
KinectFusion.hpp
1// -*- mode:C++; tab-width:4; c-basic-offset:4; indent-tabs-mode:nil -*-
2
3#ifndef __KINECT_FUSION_HPP__
4#define __KINECT_FUSION_HPP__
5
6#include <memory>
7
8#include <yarp/os/Searchable.h>
9#include <yarp/sig/Image.h>
10#include <yarp/sig/IntrinsicParams.h>
11#include <yarp/sig/Matrix.h>
12#include <yarp/sig/PointCloud.h>
13
14namespace roboticslab
15{
16
18{
19public:
20 virtual ~KinectFusion() = default;
21
22 virtual void getCloud(yarp::sig::PointCloudXYZNormalRGBA & cloudWithNormals) const = 0;
23
24 virtual void getPoints(yarp::sig::PointCloudXYZ & cloud) const = 0;
25
26 virtual void getPose(yarp::sig::Matrix & pose) const = 0;
27
28 virtual bool update(const yarp::sig::ImageOf<yarp::sig::PixelFloat> & depthFrame, const yarp::sig::FlexImage & colorFrame = {}) = 0;
29
30 virtual void reset() = 0;
31
32 virtual void render(yarp::sig::FlexImage & image) const = 0;
33};
34
35std::unique_ptr<KinectFusion> makeKinFu(const yarp::os::Searchable & config,
36 const yarp::sig::IntrinsicParams & intrinsic,
37 int width, int height);
38
39std::unique_ptr<KinectFusion> makeDynaFu(const yarp::os::Searchable & config,
40 const yarp::sig::IntrinsicParams & intrinsic,
41 int width, int height);
42
43std::unique_ptr<KinectFusion> makeKinFuLargeScale(const yarp::os::Searchable & config,
44 const yarp::sig::IntrinsicParams & intrinsic,
45 int width, int height);
46
47std::unique_ptr<KinectFusion> makeColoredKinFu(const yarp::os::Searchable & config,
48 const yarp::sig::IntrinsicParams & depthIntrinsic,
49 const yarp::sig::IntrinsicParams & colorIntrinsic,
50 int depthWidth, int depthHeight,
51 int colorWidth, int colorHeight);
52
53} // namespace roboticslab
54
55#endif // __KINECT_FUSION_HPP__
Definition KinectFusion.hpp:18
The main, catch-all namespace for Robotics Lab UC3M.
Definition groups.dox:5