Skip to content

Image Blur

Class: ImageBlurBlockV1

Source: inference.core.workflows.core_steps.classical_cv.image_blur.v1.ImageBlurBlockV1

Apply configurable blur filters to images using different blur algorithms (average, Gaussian, median, or bilateral), smoothing image details, reducing noise, and creating blur effects for noise reduction, privacy protection, preprocessing, and image enhancement workflows.

How This Block Works

This block applies blur filtering to images using one of four blur algorithms, each with different characteristics and use cases. The block:

  1. Receives an input image to apply blur filtering to
  2. Selects the blur algorithm based on blur_type parameter
  3. Applies the selected blur method using the specified kernel_size:

For Average Blur: - Uses a simple box filter that replaces each pixel with the average of its neighbors - Creates uniform blur across all pixels within the kernel area - Fast and simple blurring suitable for general smoothing - Good for basic noise reduction and smoothing

For Gaussian Blur: - Uses a Gaussian-weighted kernel that applies more weight to pixels closer to the center - Creates smooth, natural-looking blur with gradual falloff from center - Provides high-quality blurring that preserves image structure better than average blur - Good for general-purpose blurring, noise reduction, and preprocessing

For Median Blur: - Uses a nonlinear filter that replaces each pixel with the median value of its neighbors - Particularly effective at removing salt-and-pepper noise while preserving edges - Better at preserving sharp edges than linear blur methods - Good for noise reduction in images with impulse noise, speckle noise, or artifacts

For Bilateral Blur: - Uses a nonlinear filter that blurs while preserving edges - Combines spatial smoothing with intensity similarity (blurs similar colors, preserves edges between different colors) - Reduces noise and smooths textures while maintaining sharp edges and boundaries - Good for noise reduction when edge preservation is important, image denoising, and detail smoothing

  1. Preserves image metadata from the original image
  2. Returns the blurred image with applied blur filtering

The kernel_size parameter controls the blur intensity - larger values create more blur, smaller values create less blur. Different blur types have different characteristics: Average and Gaussian provide general smoothing, Median is excellent for noise removal, and Bilateral preserves edges while smoothing. The choice of blur type depends on the specific requirements - general smoothing, noise reduction, edge preservation, or artifact removal.

Common Use Cases

  • Noise Reduction: Reduce image noise and artifacts using blur filtering (e.g., remove noise from camera images, reduce compression artifacts, smooth out image imperfections), enabling noise reduction workflows
  • Privacy Protection: Blur sensitive regions or faces in images (e.g., blur faces for privacy, obscure sensitive information, anonymize image content), enabling privacy protection workflows
  • Image Preprocessing: Smooth images before further processing or analysis (e.g., preprocess images before detection, smooth images before analysis, reduce noise before processing), enabling preprocessing workflows
  • Detail Smoothing: Smooth fine details and textures in images (e.g., smooth skin in portraits, reduce texture detail, create softer appearance), enabling detail smoothing workflows
  • Artifact Removal: Remove artifacts and imperfections from images (e.g., remove compression artifacts, reduce JPEG artifacts, smooth out image defects), enabling artifact removal workflows
  • Background Blurring: Create depth-of-field effects or blur backgrounds (e.g., blur backgrounds for focus effects, create bokeh effects, emphasize foreground subjects), enabling background blurring workflows

Connecting to Other Blocks

This block receives an image and produces a blurred image:

  • After image input blocks to blur input images before further processing (e.g., blur images from camera feeds, reduce noise in image inputs, preprocess images for workflows), enabling image blurring workflows
  • Before detection or classification models to preprocess images with noise reduction (e.g., reduce noise before object detection, smooth images before classification, preprocess images for model input), enabling preprocessed model input workflows
  • After preprocessing blocks to apply blur after other preprocessing steps (e.g., blur after filtering, smooth after enhancement, reduce artifacts after processing), enabling multi-stage preprocessing workflows
  • Before visualization blocks to display blurred images (e.g., visualize privacy-protected images, display smoothed images, show blur effects), enabling blurred image visualization workflows
  • In privacy protection workflows where sensitive regions need to be blurred (e.g., blur faces in privacy workflows, obscure sensitive content, anonymize image data), enabling privacy protection workflows
  • In noise reduction pipelines where blur is part of a larger denoising workflow (e.g., reduce noise in multi-stage pipelines, apply blur for artifact removal, smooth images in processing chains), enabling noise reduction pipeline workflows

Type identifier

Use the following identifier in step "type" field: roboflow_core/image_blur@v1to add the block as as step in your workflow.

Properties

Name Type Description Refs
name str Enter a unique identifier for this step..
blur_type str Type of blur algorithm to apply: 'average' uses simple box filter for uniform blur (fast, basic smoothing), 'gaussian' (default) uses Gaussian-weighted kernel for smooth natural blur (high-quality, preserves structure), 'median' uses nonlinear median filter for noise removal while preserving edges (excellent for impulse noise, salt-and-pepper noise), or 'bilateral' uses edge-preserving filter that blurs similar colors while maintaining sharp edges (good for denoising with edge preservation). Default is 'gaussian' which provides good general-purpose blurring. Choose based on requirements: average for speed, gaussian for quality, median for noise removal, bilateral for edge preservation..
kernel_size int Size of the blur kernel (must be positive and typically odd). Controls the blur intensity - larger values create more blur, smaller values create less blur. For average and gaussian blur, this is the width and height of the kernel (e.g., 5 means 5x5 kernel). For median blur, this must be an odd integer (automatically handled). For bilateral blur, this controls the diameter of the pixel neighborhood. Typical values range from 3-15: smaller values (3-5) provide subtle blur, medium values (5-9) provide moderate blur, larger values (11-15) provide strong blur. Default is 5, which provides moderate blur. Adjust based on image size and desired blur intensity..

The Refs column marks possibility to parametrise the property with dynamic values available in workflow runtime. See Bindings for more info.

Available Connections

Compatible Blocks

Check what blocks you can connect to Image Blur in version v1.

Input and Output Bindings

The available connections depend on its binding kinds. Check what binding kinds Image Blur in version v1 has.

Bindings
  • input

    • image (image): Input image to apply blur filtering to. The block will apply the specified blur type with the configured kernel size. Works on color or grayscale images. The blurred image will have reduced detail, smoothed textures, and noise reduction depending on the blur type and kernel size selected. Original image metadata is preserved in the output..
    • blur_type (string): Type of blur algorithm to apply: 'average' uses simple box filter for uniform blur (fast, basic smoothing), 'gaussian' (default) uses Gaussian-weighted kernel for smooth natural blur (high-quality, preserves structure), 'median' uses nonlinear median filter for noise removal while preserving edges (excellent for impulse noise, salt-and-pepper noise), or 'bilateral' uses edge-preserving filter that blurs similar colors while maintaining sharp edges (good for denoising with edge preservation). Default is 'gaussian' which provides good general-purpose blurring. Choose based on requirements: average for speed, gaussian for quality, median for noise removal, bilateral for edge preservation..
    • kernel_size (integer): Size of the blur kernel (must be positive and typically odd). Controls the blur intensity - larger values create more blur, smaller values create less blur. For average and gaussian blur, this is the width and height of the kernel (e.g., 5 means 5x5 kernel). For median blur, this must be an odd integer (automatically handled). For bilateral blur, this controls the diameter of the pixel neighborhood. Typical values range from 3-15: smaller values (3-5) provide subtle blur, medium values (5-9) provide moderate blur, larger values (11-15) provide strong blur. Default is 5, which provides moderate blur. Adjust based on image size and desired blur intensity..
  • output

    • image (image): Image in workflows.
Example JSON definition of step Image Blur in version v1
{
    "name": "<your_step_name_here>",
    "type": "roboflow_core/image_blur@v1",
    "image": "$inputs.image",
    "blur_type": "gaussian",
    "kernel_size": 5
}