From a8c0b98f751115a978f85934fada3afee7a86e92 Mon Sep 17 00:00:00 2001 From: Thaloria Date: Mon, 16 May 2022 21:51:36 +0200 Subject: [PATCH] re-implement equipment with masks --- .gitignore | 1 + equipment_main.py | 2 +- vision.py | 18 ++++++++++++++++-- 3 files changed, 18 insertions(+), 3 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9f21b54 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/venv/ diff --git a/equipment_main.py b/equipment_main.py index 6b3e9b3..12666a5 100644 --- a/equipment_main.py +++ b/equipment_main.py @@ -20,7 +20,7 @@ HSV_DEFAULT = HsvFilter(0, 0, 0, 179, 255, 255, 0, 0, 0, 0) def run(): - EMITTER_TO_USE = EMITTER_RING + EMITTER_TO_USE = EMITTER_STAFF SPAWN_COUNT = 15 # initialize the user-class config = UserConfigs() diff --git a/vision.py b/vision.py index 02118c4..8d91a1a 100644 --- a/vision.py +++ b/vision.py @@ -41,10 +41,22 @@ class Vision: idx_1d = np.argpartition(result.flatten(), -find_num)[-find_num:] idx_2d = np.unravel_index(idx_1d, result.shape) - rectangles = [] + tresh_coord = [] for i in range(0, len(idx_2d[0]), 1): y = int(idx_2d[0][i]) x = int(idx_2d[1][i]) + res1 = result[y][x] + tresh_coord.append([res1, [y, x]]) + + tresh_coord.sort(reverse=True) + + rectangles = [] + for tc in tresh_coord: + y = int(tc[1][0]) + x = int(tc[1][1]) + #for i in range(0, len(idx_2d[0]), 1): + #y = int(idx_2d[0][i]) + #x = int(idx_2d[1][i]) rect = [x, y, needle_w, needle_h] # Add every box to the list twice in order to retain single (non-overlapping) boxes rectangles.append(rect) @@ -64,8 +76,10 @@ class Vision: #screenshot_pos_img = self.draw_rectangles(screenshot_pos, rectangles) #cv.imshow("screenshot_pos", screenshot_pos) #cv.waitKey(150) - if _maxVal2 >= 0.9: + if _maxVal2 >= 0.85: keep_rects.append(rect) + if len(keep_rects) >= 5: + return keep_rects if len(keep_rects) > max_results: keep_rects = keep_rects[:max_results]