Shortcuts

mmcv.image.impad

mmcv.image.impad(img: numpy.ndarray, *, shape: Optional[Tuple[int, int]] = None, padding: Optional[Union[int, tuple]] = None, pad_val: Union[float, List] = 0, padding_mode: str = 'constant')numpy.ndarray[source]

Pad the given image to a certain shape or pad on all sides with specified padding mode and padding value.

Parameters
  • img (ndarray) – Image to be padded.

  • shape (tuple[int]) – Expected padding shape (h, w). Default: None.

  • padding (int or tuple[int]) – Padding on each border. If a single int is provided this is used to pad all borders. If tuple of length 2 is provided this is the padding on left/right and top/bottom respectively. If a tuple of length 4 is provided this is the padding for the left, top, right and bottom borders respectively. Default: None. Note that shape and padding can not be both set.

  • pad_val (Number | Sequence[Number]) – Values to be filled in padding areas when padding_mode is ‘constant’. Default: 0.

  • padding_mode (str) –

    Type of padding. Should be: constant, edge, reflect or symmetric. Default: constant.

    • constant: pads with a constant value, this value is specified with pad_val.

    • edge: pads with the last value at the edge of the image.

    • reflect: pads with reflection of image without repeating the last value on the edge. For example, padding [1, 2, 3, 4] with 2 elements on both sides in reflect mode will result in [3, 2, 1, 2, 3, 4, 3, 2].

    • symmetric: pads with reflection of image repeating the last value on the edge. For example, padding [1, 2, 3, 4] with 2 elements on both sides in symmetric mode will result in [2, 1, 1, 2, 3, 4, 4, 3]

Returns

The padded image.

Return type

ndarray