blob: 0e7240f3bd6253d647927157bc112008b9ae5c15 [file] [log] [blame]
Parker Schuh0ff777c2017-02-19 15:01:13 -08001#include "aos/vision/blob/test_utils.h"
2
Stephan Pleinesf63bde82024-01-13 15:59:33 -08003namespace aos::vision {
Parker Schuh0ff777c2017-02-19 15:01:13 -08004
5RangeImage LoadFromTestData(int mini, const char *data) {
6 // Consume initial return.
7 if (*data) ++data;
8 std::vector<std::vector<ImageRange>> rows;
9 int x = 0;
10 bool p_score = false;
11 int pstart = -1;
12 std::vector<ImageRange> out_ranges;
13
14 for (; *data; ++data) {
15 char cell = *data;
16
17 if (cell == '\n') {
18 if (p_score) {
19 out_ranges.emplace_back(ImageRange(pstart, x));
20 }
21 rows.emplace_back(out_ranges);
22 out_ranges = {};
23 x = 0;
24 pstart = -1;
25 p_score = false;
26 } else {
27 if ((cell != ' ') != p_score) {
28 if (p_score) {
29 out_ranges.emplace_back(ImageRange(pstart, x));
30 } else {
31 pstart = x;
32 }
33 p_score = !p_score;
34 }
35 ++x;
36 }
37 }
38 return RangeImage(mini, std::move(rows));
39}
40
Stephan Pleinesf63bde82024-01-13 15:59:33 -080041} // namespace aos::vision