def __process_pair(self, image):
     manager = DetectorConfig.instance().get_manager()
     boxes, proc = manager.extract_boxes(self.__current_cfg, image)
     final_grouped, sizes, check_group_idx, pair, split_left, split_right, image_detect = manager.detect_groups_and_checked_pair(
         self.__current_cfg, boxes, image)
     unit = self.__current_cfg["length_unit"]
     for idx, group in enumerate(final_grouped):
         for b_idx, b in enumerate(group):
             c, rect, dimA, dimB, box, tl, tr, br, bl, minx, maxx, cenx = b
             cur_size = sizes[idx][b_idx]
             lH, lW = cur_size
             helper.draw_boxes_and_sizes(image, idx, box, lH, lW, unit, tl,
                                         br)
     if (pair is not None):
         manager.check_group(check_group_idx, final_grouped)
         left, right = pair
         left, right = left[0], right[0]
         left = cv2.flip(left, 1)
         label_w = self.image1.width()
         label_h = self.image1.height()
         images = [left, right]
         self.__detected_pair = images
         final_img = helpers.concat_images(images, label_w, label_h)
         return image, final_img, images
     return image, None, None
 def __process_image(self, image):
     manager = DetectorConfig.instance().get_manager()
     boxes, proc = manager.extract_boxes(self.__current_cfg, image)
     sizes = []
     for idx, b in enumerate(boxes):
         c, rect, dimA, dimB, box, tl, tr, br, bl, minx, maxx, cenx = b
         sizes.append((dimA, dimB))
         length_per_10px = self.__current_cfg["length_per_10px"]
         unit = self.__current_cfg["length_unit"]
         if length_per_10px is not None and length_per_10px != 0:
             dimA, dimB = helper.calculate_length(
                 dimA, length_per_10px), helper.calculate_length(
                     dimB, length_per_10px)
         helper.draw_boxes_and_sizes(image, None, box, dimA, dimB, unit, tl,
                                     br)
     return image, sizes
示例#3
0
    def __process_pair(self, image):
        manager = DetectorConfig.instance().get_manager()
        boxes, proc = manager.extract_boxes(self.__current_cfg, image)
        image_detect = image.copy()
        pair, image_detect, boxes = manager.detect_pair_side_cam(
            self.__current_cfg, boxes, image_detect)

        # output
        for b in boxes:
            c, rect, dimA, dimB, box, tl, tr, br, bl, minx, maxx, cenx = b
            helper.draw_boxes(image, box)

        if (pair is not None):
            pair_len = len(pair)
            images = [item[0] for item in pair]
            return image, images

        return image, None