blob: 83243bd94511a1a74de9af752af1f814cb5507be [file] [log] [blame]
Parker Schuh6691f192017-01-14 17:01:02 -08001#ifndef _AOS_VISION_BLOB_HIERARCHICAL_CONTOUR_MERGE_H_
2#define _AOS_VISION_BLOB_HIERARCHICAL_CONTOUR_MERGE_H_
3
4#include <vector>
5
6#include "aos/vision/blob/contour.h"
7#include "aos/vision/blob/range_image.h"
8
Stephan Pleinesd99b1ee2024-02-02 20:56:44 -08009namespace aos::vision {
Parker Schuh6691f192017-01-14 17:01:02 -080010
11struct FittedLine {
12 Point st;
13 Point ed;
14};
15
16// Merges a contour into a list of best fit lines where the regression value is
17// merge_rate and only emit lines at least min_len pixels long.
18void HierarchicalMerge(ContourNode *stval, std::vector<FittedLine> *fit_lines,
19 float merge_rate = 4.0, int min_len = 15);
20
Stephan Pleinesd99b1ee2024-02-02 20:56:44 -080021} // namespace aos::vision
Parker Schuh6691f192017-01-14 17:01:02 -080022
23#endif // _AOS_VISION_BLOB_HIERARCHICAL_CONTOUR_MERGE_H_