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