mindspore.dataset.vision.GaussianBlur

View Source On Gitee
class mindspore.dataset.vision.GaussianBlur(kernel_size, sigma=None)[source]

Blur input image with the specified Gaussian kernel.

Supports Ascend hardware acceleration and can be enabled through the .device("Ascend") method.

Parameters
  • kernel_size (Union[int, Sequence[int, int]]) –

    The size of the Gaussian kernel. Must be positive and odd.

    • If the input type is int, the value will be used as both the width and height of the Gaussian kernel.

    • If the input type is Sequence[int, int], the two elements will be used as the width and height of the Gaussian kernel respectively.

  • sigma (Union[float, Sequence[float, float]], optional) –

    The standard deviation of the Gaussian kernel. Must be positive.

    • If the input type is float, the value will be used as the standard deviation of both the width and height of the Gaussian kernel.

    • If the input type is Sequence[float, float], the two elements will be used as the standard deviation of the width and height of the Gaussian kernel respectively.

    Default: None , the standard deviation of the Gaussian kernel will be obtained by the formula ((kernel_size1)0.51)0.3+0.8 .

Raises
  • TypeError – If kernel_size is not of type int or Sequence[int].

  • TypeError – If sigma is not of type float or Sequence[float].

  • ValueError – If kernel_size is not positive and odd.

  • ValueError – If sigma is not positive.

  • RuntimeError – If given tensor shape is not <H, W> or <H, W, C>.

Supported Platforms:

CPU Ascend

Examples

>>> import numpy as np
>>> import mindspore.dataset as ds
>>> import mindspore.dataset.vision as vision
>>>
>>> # Use the transform in dataset pipeline mode
>>> data = np.random.randint(0, 255, size=(1, 100, 100, 3)).astype(np.uint8)
>>> numpy_slices_dataset = ds.NumpySlicesDataset(data, ["image"])
>>> transforms_list = [vision.GaussianBlur(3, 3)]
>>> numpy_slices_dataset = numpy_slices_dataset.map(operations=transforms_list, input_columns=["image"])
>>> for item in numpy_slices_dataset.create_dict_iterator(num_epochs=1, output_numpy=True):
...     print(item["image"].shape, item["image"].dtype)
...     break
(100, 100, 3) uint8
>>>
>>> # Use the transform in eager mode
>>> data = np.array([[0, 1, 2, 3, 4, 5], [0, 1, 2, 3, 4, 5]], dtype=np.uint8).reshape((2, 2, 3))
>>> output = vision.GaussianBlur(3, 3)(data)
>>> print(output.shape, output.dtype)
(2, 2, 3) uint8
Tutorial Examples:
device(device_target='CPU')[source]

Set the device for the current operator execution.

When the device is Ascend, the parameter kernel_size only supports values 1, 3, and 5. input shape should be limited from [4, 6] to [8192, 4096].

Parameters

device_target (str, optional) – The operator will be executed on this device. Currently supports "CPU" and "Ascend" . Default: "CPU" .

Raises
  • TypeError – If device_target is not of type str.

  • ValueError – If device_target is not within the valid set of ["CPU", "Ascend"].

Supported Platforms:

CPU Ascend

Examples

>>> import numpy as np
>>> import mindspore.dataset as ds
>>> import mindspore.dataset.vision as vision
>>>
>>> # Use the transform in dataset pipeline mode
>>> data = np.random.randint(0, 255, size=(1, 100, 100, 3)).astype(np.uint8)
>>> numpy_slices_dataset = ds.NumpySlicesDataset(data, ["image"])
>>> blur_op = vision.GaussianBlur(3, 3).device("Ascend")
>>> transforms_list = [blur_op]
>>> numpy_slices_dataset = numpy_slices_dataset.map(operations=transforms_list, input_columns=["image"])
>>> for item in numpy_slices_dataset.create_dict_iterator(num_epochs=1, output_numpy=True):
...     print(item["image"].shape, item["image"].dtype)
...     break
(100, 100, 3) uint8
>>>
>>> # Use the transform in eager mode
>>> data = np.random.randint(0, 255, size=(100, 100, 3)).astype(np.uint8)
>>> output = vision.GaussianBlur(3, 3).device("Ascend")(data)
>>> print(output.shape, output.dtype)
(100, 100, 3) uint8
Tutorial Examples: