← Back to all transforms

# Defocus

## Description

Apply defocus blur to the input image. This transform simulates the effect of an out-of-focus camera by applying a defocus blur to the image. It uses a combination of disc kernels and Gaussian blur to create a realistic defocus effect. Args: radius (tuple[int, int] | int): Range for the radius of the defocus blur. If a single int is provided, the range will be [1, radius]. Larger values create a stronger blur effect. Default: (3, 10) alias_blur (tuple[float, float] | float): Range for the standard deviation of the Gaussian blur applied after the main defocus blur. This helps to reduce aliasing artifacts. If a single float is provided, the range will be (0, alias_blur). Larger values create a smoother, more aliased effect. Default: (0.1, 0.5) p (float): Probability of applying the transform. Should be in the range [0, 1]. Default: 0.5 Targets: image Image types: uint8, float32 Note: - The defocus effect is created using a disc kernel, which simulates the shape of a camera's aperture. - The additional Gaussian blur (alias_blur) helps to soften the edges of the disc kernel, creating a more natural-looking defocus effect. - Larger radius values will create a stronger, more noticeable defocus effect. - The alias_blur parameter can be used to fine-tune the appearance of the defocus, with larger values creating a smoother, potentially more realistic effect. Example: >>> import numpy as np >>> import albumentations as A >>> image = np.random.randint(0, 256, (100, 100, 3), dtype=np.uint8) >>> transform = A.Defocus(radius=(4, 8), alias_blur=(0.2, 0.4), always_apply=True) >>> result = transform(image=image) >>> defocused_image = result['image'] References: - https://en.wikipedia.org/wiki/Defocus_aberration - https://www.researchgate.net/publication/261311609_Realistic_Defocus_Blur_for_Multiplane_Computer-Generated_Holography

## Parameters

- radius: int | tuple[int, int] | float | tuple[float, float] (default: (3, 10))
- alias_blur: int | tuple[int, int] | float | tuple[float, float] (default: (0.1, 0.5))
- p: float (default: 0.5)

## Targets

- Image

## Try it out

ⓘ

### Original Image:

### Result:

Transform result will appear here