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:
- Receives an input image to apply blur filtering to
- Selects the blur algorithm based on blur_type parameter
- 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
- Preserves image metadata from the original image
- 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.
- inputs:
Halo Visualization,Stitch OCR Detections,GLM-OCR,Image Threshold,Template Matching,Stitch Images,Morphological Transformation,Classification Label Visualization,Twilio SMS/MMS Notification,Crop Visualization,Icon Visualization,Stability AI Outpainting,Blur Visualization,VLM As Classifier,Reference Path Visualization,MoonshotAI Kimi,OpenAI,Google Gemini,Anthropic Claude,Webhook Sink,Camera Focus,QR Code Generator,Model Comparison Visualization,Florence-2 Model,MQTT Writer,Trace Visualization,Ellipse Visualization,Anthropic Claude,Dot Visualization,Perspective Correction,Label Visualization,Image Convert Grayscale,Florence-2 Model,Text Display,Qwen-VL,Llama 3.2 Vision,Roboflow Dataset Upload,Image Blur,Keypoint Detection Model,Absolute Static Crop,SIFT,CSV Formatter,LMM,Google Gemini,EasyOCR,Qwen 3.5 API,Local File Sink,Qwen 3.6 API,Triangle Visualization,Camera Focus,Contrast Equalization,Polygon Visualization,OpenAI,Line Counter,Heatmap Visualization,Clip Comparison,Google Gemma API,Contrast Enhancement,Google Gemini,Halo Visualization,Color Visualization,Morphological Transformation,MoonshotAI Kimi,Stitch OCR Detections,LMM For Classification,Event Writer,VLM As Detector,Llama 3.2 Vision,Polygon Visualization,Email Notification,Image Stack,Mask Visualization,Anthropic Claude,Stability AI Inpainting,Distance Measurement,Roboflow Asset Library Attributes,Microsoft SQL Server Sink,Keypoint Visualization,OpenAI,Background Subtraction,Multi-Label Classification Model,Roboflow Vision Events,Twilio SMS Notification,Email Notification,Image Slicer,Image Contours,Line Counter Visualization,CogVLM,Object Detection Model,Image Preprocessing,OPC UA Writer Sink,Dynamic Crop,Depth Estimation,Bounding Box Visualization,Pixel Color Count,Qwen3.5-VL,Current Time,Corner Visualization,Polygon Zone Visualization,Camera Calibration,Roboflow Dataset Upload,Grid Visualization,Stability AI Image Generation,OpenAI,S3 Sink,Circle Visualization,Image Slicer,SIFT Comparison,OCR Model,Single-Label Classification Model,Relative Static Crop,Roboflow Custom Metadata,Instance Segmentation Model,Model Monitoring Inference Aggregator,OpenAI-Compatible LLM,Slack Notification,OpenRouter,Detection Event Log,SIFT Comparison,Pixelate Visualization,Google Vision OCR,Background Color Visualization,Line Counter,Google Gemma - outputs:
Template Matching,Morphological Transformation,Classification Label Visualization,Crop Visualization,Stability AI Outpainting,Blur Visualization,Reference Path Visualization,OpenAI,YOLO-World Model,Anthropic Claude,Camera Focus,Track Class Lock,Instance Segmentation Model,Mask Edge Snap,Model Comparison Visualization,Florence-2 Model,Trace Visualization,SmolVLM2,Label Visualization,Image Convert Grayscale,Florence-2 Model,Text Display,Llama 3.2 Vision,Qwen-VL,Image Blur,Keypoint Detection Model,Absolute Static Crop,Gaze Detection,Keypoint Detection Model,LMM,OC-SORT Tracker,QR Code Detection,Qwen 3.5 API,Qwen 3.6 API,Qwen2.5-VL,Camera Focus,SORT Tracker,VLM As Detector,Qwen3-VL,Multi-Label Classification Model,Detections Stitch,Clip Comparison,Google Gemma API,Contrast Enhancement,Halo Visualization,MoonshotAI Kimi,Color Visualization,Morphological Transformation,Event Writer,Buffer,Stability AI Inpainting,Time in Zone,OpenAI,Roboflow Vision Events,Dominant Color,CogVLM,Object Detection Model,Semantic Segmentation Model,Dynamic Crop,Byte Tracker,Bounding Box Visualization,Qwen3.5-VL,Clip Comparison,SAM 3,OpenAI,Single-Label Classification Model,OCR Model,OpenRouter,SIFT Comparison,Pixelate Visualization,Google Vision OCR,SAM3 Video Tracker,Google Gemma,CLIP Embedding Model,Halo Visualization,GLM-OCR,Image Threshold,SAM 3 Interactive,Stitch Images,Twilio SMS/MMS Notification,VLM As Classifier,Icon Visualization,MoonshotAI Kimi,ByteTrack Tracker,Google Gemini,Single-Label Classification Model,Single-Label Classification Model,Instance Segmentation Model,Ellipse Visualization,Anthropic Claude,Object Detection Model,Keypoint Detection Model,BoT-SORT Tracker,Dot Visualization,Perspective Correction,Instance Segmentation Model,Seg Preview,Roboflow Dataset Upload,Detections Stabilizer,SIFT,Google Gemini,EasyOCR,SAM 3,Triangle Visualization,Contrast Equalization,Polygon Visualization,OpenAI,SAM2 Video Tracker,Heatmap Visualization,Perception Encoder Embedding Model,Google Gemini,LMM For Classification,VLM As Detector,Llama 3.2 Vision,Multi-Label Classification Model,Image Stack,Polygon Visualization,Mask Visualization,Anthropic Claude,Barcode Detection,Keypoint Visualization,Background Subtraction,Multi-Label Classification Model,Email Notification,Semantic Segmentation Model,Image Slicer,Image Contours,Line Counter Visualization,Image Preprocessing,SAM 3,VLM As Classifier,Depth Estimation,Pixel Color Count,Motion Detection,Qwen3.5,Roboflow Dataset Upload,Corner Visualization,Camera Calibration,Segment Anything 2 Model,Polygon Zone Visualization,Stability AI Image Generation,Moondream2,Circle Visualization,Image Slicer,Relative Static Crop,Instance Segmentation Model,Object Detection Model,Background Color Visualization
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
}