Some additions to aos/vision/blob (transpose and move_scale).
Change-Id: I927144e27d0494f3ea879ebbd1647741f82e3c7b
diff --git a/aos/vision/blob/test_utils.cc b/aos/vision/blob/test_utils.cc
new file mode 100644
index 0000000..7664f8a
--- /dev/null
+++ b/aos/vision/blob/test_utils.cc
@@ -0,0 +1,43 @@
+#include "aos/vision/blob/test_utils.h"
+
+namespace aos {
+namespace vision {
+
+RangeImage LoadFromTestData(int mini, const char *data) {
+ // Consume initial return.
+ if (*data) ++data;
+ std::vector<std::vector<ImageRange>> rows;
+ int x = 0;
+ bool p_score = false;
+ int pstart = -1;
+ std::vector<ImageRange> out_ranges;
+
+ for (; *data; ++data) {
+ char cell = *data;
+
+ if (cell == '\n') {
+ if (p_score) {
+ out_ranges.emplace_back(ImageRange(pstart, x));
+ }
+ rows.emplace_back(out_ranges);
+ out_ranges = {};
+ x = 0;
+ pstart = -1;
+ p_score = false;
+ } else {
+ if ((cell != ' ') != p_score) {
+ if (p_score) {
+ out_ranges.emplace_back(ImageRange(pstart, x));
+ } else {
+ pstart = x;
+ }
+ p_score = !p_score;
+ }
+ ++x;
+ }
+ }
+ return RangeImage(mini, std::move(rows));
+}
+
+} // namespace vision
+} // namespace aos