From d91c938fdd416890880728cdd2601cb7b0b77ae2 Mon Sep 17 00:00:00 2001 From: facok <128763816+facok@users.noreply.github.com> Date: Mon, 30 Mar 2026 07:42:43 +0800 Subject: [PATCH] fix BBoxJoin merging bboxes at image-index level instead of per-image The old code used list.extend() on the outer (image-index) dimension,causing bboxes from different inputs to be treated as separate images rather than merged into the same image's bbox list. --- py/object_detector.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/py/object_detector.py b/py/object_detector.py index d7ad6cd..c37744a 100644 --- a/py/object_detector.py +++ b/py/object_detector.py @@ -59,12 +59,13 @@ class LS_BBOXES_JOIN: CATEGORY = '😺dzNodes/LayerMask' def bboxes_join(self, bboxes_1, bboxes_2=None, bboxes_3=None, bboxes_4=None): - if bboxes_2 is not None: - bboxes_1.extend(bboxes_2) - if bboxes_3 is not None: - bboxes_1.extend(bboxes_3) - if bboxes_4 is not None: - bboxes_1.extend(bboxes_4) + all_inputs = [b for b in [bboxes_2, bboxes_3, bboxes_4] if b is not None] + for other in all_inputs: + for i in range(len(other)): + if i < len(bboxes_1): + bboxes_1[i].extend(other[i]) + else: + bboxes_1.append(other[i]) return (bboxes_1,) class LS_OBJECT_DETECTOR_FL2: @@ -562,4 +563,4 @@ NODE_DISPLAY_NAME_MAPPINGS = { "LayerMask: ObjectDetectorMask": "LayerMask: Object Detector Mask(Advance)", "LayerMask: ObjectDetectorYOLO8": "LayerMask: Object Detector YOLO8(Advance)", "LayerMask: ObjectDetectorYOLOWorld": "LayerMask: Object Detector YOLO World(Obsolete)" -} \ No newline at end of file +}