-
Notifications
You must be signed in to change notification settings - Fork 13
/
cxx_3d_seg.h
37 lines (27 loc) · 911 Bytes
/
cxx_3d_seg.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#ifndef CXX_3D_SEG_H
#define CXX_3D_SEG_H
#include <opencv2/core/core.hpp>
#include <opencv2/rgbd.hpp>
#include <opencv2/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
#include <slimage/opencv.hpp>
#include <slimage/algorithm.hpp>
#include <asp/algos.hpp>
#include "super4pcs/algorithms/super4pcs.h"
#include "super4pcs/io/io.h"
namespace cxx_3d_seg {
struct convex_result {
const cv::Mat &getIndices() const { return indices;}
const cv::Mat &getWorld() const { return world;}
const cv::Mat &getNormal() const { return normal;}
cv::Mat indices;
cv::Mat world;
cv::Mat normal;
};
// seg cloud to convex part, sorted by pixel counts
convex_result convex_cloud_seg(cv::Mat& rgb, cv::Mat& depth, cv::Mat& sceneK);
cv::Mat pose_estimation(cv::Mat& cloud, std::string ply_model, int pcs_secends = 1,
float LCP_thresh = 0.5);
}
#endif