Skip to content

Reference for ultralytics/models/fastsam/utils.py

Improvements

This page is sourced from https://github.com/ultralytics/ultralytics/blob/main/ultralytics/models/fastsam/utils.py. Have an improvement or example to add? Open a Pull Request — thank you! 🙏


function ultralytics.models.fastsam.utils.adjust_bboxes_to_image_border

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

NameTypeDescriptionDefault
boxestorch.TensorBounding boxes with shape (N, 4) in xyxy format.required
image_shapetupleImage dimensions as (height, width).required
thresholdintPixel threshold for considering a box close to the border.20

Returns

TypeDescription
torch.TensorAdjusted bounding boxes with shape (N, 4).
Source code in ultralytics/models/fastsam/utils.pyView on GitHub
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 2 years ago ✏️ Updated 18 days ago
glenn-jocherjk4esometimesocrazy@gmail.comBurhan-Q