Skip to content

Register now for

# Reference for `ultralytics/models/fastsam/utils.py`

Note

This file is available at https://github.com/ultralytics/ultralytics/blob/main/ultralytics/models/fastsam/utils.py. If you spot a problem please help fix it by contributing a Pull Request 🛠️. Thank you 🙏!

## `` ultralytics.models.fastsam.utils.adjust_bboxes_to_image_border

    adjust_bboxes_to_image_border(boxes, image_shape, threshold=20)

Adjust bounding boxes to stick to image border if they are within a certain threshold.

Parameters:

Name | Type | Description | Default
--- | --- | --- | ---
`boxes` | `Tensor` | Bounding boxes with shape (N, 4) in xyxy format. | required
`image_shape` | `tuple` | Image dimensions as (height, width). | required
`threshold` | `int` | Pixel threshold for considering a box close to the border. | `20`

Returns:

Type | Description
--- | ---
`Tensor` | Adjusted bounding boxes with shape (N, 4).

Source code in `ultralytics/models/fastsam/utils.py`

     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    def adjust_bboxes_to_image_border(boxes, image_shape, threshold=20):
        """
        Adjust bounding boxes to stick to image border if they are within a certain threshold.

        Args:
            boxes (torch.Tensor): Bounding boxes with shape (N, 4) in xyxy format.
            image_shape (tuple): Image dimensions as (height, width).
            threshold (int): Pixel threshold for considering a box close to the border.

        Returns:
            (torch.Tensor): Adjusted bounding boxes with shape (N, 4).
        """
        # Image dimensions
        h, w = image_shape

        # Adjust boxes that are close to image borders
        boxes[boxes[:, 0] < threshold, 0] = 0  # x1
        boxes[boxes[:, 1] < threshold, 1] = 0  # y1
        boxes[boxes[:, 2] > w - threshold, 2] = w  # x2
        boxes[boxes[:, 3] > h - threshold, 3] = h  # y2
        return boxes

📅 Created 1 year ago ✏️ Updated 1 year ago