Bounding Box Visualization¶
Class: BoundingBoxVisualizationBlockV1
Source: inference.core.workflows.core_steps.visualizations.bounding_box.v1.BoundingBoxVisualizationBlockV1
Draw bounding boxes around detected objects in an image, with customizable colors, thickness, and corner roundness.
How This Block Works¶
This block takes an image and detection predictions (from object detection, instance segmentation, or keypoint detection models) and draws rectangular bounding boxes around each detected object. The block:
- Takes an image and predictions as input
- Applies color styling based on the selected color palette, with colors assigned by class, index, or track ID
- Draws bounding boxes using Supervision's BoxAnnotator (for square corners) or RoundBoxAnnotator (for rounded corners) based on the roundness setting
- Applies the specified box thickness to control the line width of the bounding boxes
- Returns an annotated image with bounding boxes overlaid on the original image
The block supports various color palettes (default, Roboflow, Matplotlib palettes, or custom colors) and can color boxes based on detection class, index, or tracker ID. When roundness is set to 0, square corners are used; when roundness is greater than 0, rounded corners are applied for a softer visual appearance. You can choose whether to modify the original image or create a copy for visualization, which is useful when stacking multiple visualization blocks.
Common Use Cases¶
- Model Validation and Debugging: Visualize detection results to verify model performance, check bounding box accuracy, identify false positives or false negatives, and debug model outputs
- Results Presentation: Create annotated images for reports, dashboards, or presentations showing what objects were detected in images or video frames
- Quality Control: Overlay bounding boxes on production line images to visualize detected defects, products, or components for quality assurance workflows
- Monitoring and Alerting: Generate visual outputs showing detected objects for security monitoring, surveillance systems, or compliance tracking with annotated evidence
- Training Data Review: Review and validate training datasets by visualizing annotations and bounding boxes to ensure labeling accuracy and consistency
- Interactive Applications: Create user interfaces that display real-time detection results with bounding boxes for object tracking, counting, or identification applications
Connecting to Other Blocks¶
The annotated image from this block can be connected to:
- Other visualization blocks (e.g., Label Visualization, Polygon Visualization, Mask Visualization) to stack multiple annotations on the same image for comprehensive visualization
- Data storage blocks (e.g., Local File Sink, CSV Formatter, Roboflow Dataset Upload) to save annotated images for documentation, archiving, or training data preparation
- Webhook blocks to send visualized results to external systems, APIs, or web applications for display in dashboards or monitoring tools
- Notification blocks (e.g., Email Notification, Slack Notification) to send annotated images as visual evidence in alerts or reports
- Video output blocks to create annotated video streams or recordings with bounding boxes for live monitoring or post-processing analysis
Type identifier¶
Use the following identifier in step "type" field: roboflow_core/bounding_box_visualization@v1to add the block as
as step in your workflow.
Properties¶
| Name | Type | Description | Refs |
|---|---|---|---|
name |
str |
Enter a unique identifier for this step.. | ❌ |
copy_image |
bool |
Enable this option to create a copy of the input image for visualization, preserving the original. Use this when stacking multiple visualizations.. | ✅ |
color_palette |
str |
Select a color palette for the visualised elements.. | ✅ |
palette_size |
int |
Specify the number of colors in the palette. This applies when using custom or Matplotlib palettes.. | ✅ |
custom_colors |
List[str] |
Define a list of custom colors for bounding boxes in HEX format.. | ✅ |
color_axis |
str |
Choose how bounding box colors are assigned.. | ✅ |
thickness |
int |
Thickness of the bounding box edges in pixels. Higher values create thicker, more visible box outlines.. | ✅ |
roundness |
float |
Roundness of the bounding box corners, ranging from 0.0 (square corners) to 1.0 (fully rounded corners). When set to 0.0, square-cornered boxes are used; higher values create progressively more rounded corners.. | ✅ |
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 Bounding Box Visualization in version v1.
- inputs:
Detections Stabilizer,Velocity,Keypoint Detection Model,Distance Measurement,SIFT Comparison,Instance Segmentation Model,Anthropic Claude,Google Vision OCR,Circle Visualization,Image Slicer,Mask Edge Snap,Detections Filter,Google Gemini,Identify Outliers,Image Contours,Qwen 3.6 API,Detections Merge,Single-Label Classification Model,Byte Tracker,Roboflow Vision Events,Depth Estimation,Line Counter Visualization,VLM As Detector,Stitch Images,Morphological Transformation,LMM,Model Comparison Visualization,Buffer,Segment Anything 2 Model,MoonshotAI Kimi,Grid Visualization,Instance Segmentation Model,Twilio SMS/MMS Notification,OpenAI,Detections Classes Replacement,Clip Comparison,Twilio SMS Notification,SAM 3,Qwen-VL,S3 Sink,SAM 3,Halo Visualization,Camera Focus,SIFT Comparison,Local File Sink,Keypoint Detection Model,Mask Visualization,SIFT,Path Deviation,Anthropic Claude,MoonshotAI Kimi,Roboflow Dataset Upload,Text Display,Image Slicer,Multi-Label Classification Model,Absolute Static Crop,Llama 3.2 Vision,VLM As Classifier,PTZ Tracking (ONVIF),Path Deviation,GLM-OCR,Object Detection Model,Roboflow Custom Metadata,Email Notification,Dynamic Crop,Detections Combine,Mask Area Measurement,Seg Preview,Instance Segmentation Model,Time in Zone,OpenRouter,Model Monitoring Inference Aggregator,Contrast Enhancement,Motion Detection,Per-Class Confidence Filter,Webhook Sink,Google Gemma API,Stability AI Image Generation,SAM2 Video Tracker,Color Visualization,Heatmap Visualization,Contrast Equalization,Object Detection Model,YOLO-World Model,Google Gemini,Roboflow Dataset Upload,Slack Notification,Anthropic Claude,QR Code Generator,Detection Offset,Clip Comparison,OpenAI,Bounding Box Visualization,SAM 3,VLM As Classifier,Florence-2 Model,Overlap Filter,Image Blur,Keypoint Detection Model,Detections Consensus,Dot Visualization,Polygon Zone Visualization,Label Visualization,Icon Visualization,Image Threshold,LMM For Classification,Object Detection Model,OC-SORT Tracker,Blur Visualization,Line Counter,Bounding Rectangle,Relative Static Crop,Dimension Collapse,Trace Visualization,Moondream2,Qwen3.5-VL,Size Measurement,Dynamic Zone,Florence-2 Model,Camera Focus,CogVLM,Pixelate Visualization,Time in Zone,Image Convert Grayscale,Byte Tracker,Keypoint Visualization,Llama 3.2 Vision,Polygon Visualization,Line Counter,Google Gemma,Classification Label Visualization,Image Stack,Morphological Transformation,Gaze Detection,Camera Calibration,Email Notification,Google Gemini,Image Preprocessing,Corner Visualization,Stitch OCR Detections,Detections Transformation,Halo Visualization,Byte Tracker,Roboflow Asset Library Attributes,ByteTrack Tracker,Reference Path Visualization,OpenAI,Background Color Visualization,Identify Changes,JSON Parser,Detections Stitch,Ellipse Visualization,CSV Formatter,Stability AI Outpainting,VLM As Detector,EasyOCR,Triangle Visualization,OCR Model,Crop Visualization,Perspective Correction,Qwen 3.5 API,Detection Event Log,Stitch OCR Detections,OpenAI-Compatible LLM,Detections List Roll-Up,BoT-SORT Tracker,Instance Segmentation Model,SORT Tracker,Time in Zone,Polygon Visualization,Background Subtraction,Template Matching,Pixel Color Count,OpenAI,Stability AI Inpainting - outputs:
Detections Stabilizer,Keypoint Detection Model,Instance Segmentation Model,Anthropic Claude,Google Vision OCR,Circle Visualization,Barcode Detection,Image Slicer,Mask Edge Snap,Google Gemini,Image Contours,Qwen 3.6 API,Single-Label Classification Model,CLIP Embedding Model,Byte Tracker,Roboflow Vision Events,Depth Estimation,Line Counter Visualization,VLM As Detector,Stitch Images,Morphological Transformation,LMM,Model Comparison Visualization,Buffer,MoonshotAI Kimi,Segment Anything 2 Model,Instance Segmentation Model,Twilio SMS/MMS Notification,OpenAI,Clip Comparison,Dominant Color,SAM 3,Qwen-VL,SAM 3,Halo Visualization,Keypoint Detection Model,Camera Focus,Semantic Segmentation Model,SIFT Comparison,Multi-Label Classification Model,Mask Visualization,SmolVLM2,SIFT,Anthropic Claude,MoonshotAI Kimi,Roboflow Dataset Upload,Text Display,Image Slicer,Multi-Label Classification Model,Absolute Static Crop,Llama 3.2 Vision,VLM As Classifier,GLM-OCR,Object Detection Model,Email Notification,Seg Preview,Dynamic Crop,Instance Segmentation Model,OpenRouter,Contrast Enhancement,Motion Detection,Qwen3-VL,Google Gemma API,Stability AI Image Generation,SAM2 Video Tracker,Color Visualization,Heatmap Visualization,Contrast Equalization,Object Detection Model,YOLO-World Model,Google Gemini,Roboflow Dataset Upload,Single-Label Classification Model,Anthropic Claude,Clip Comparison,OpenAI,Qwen3.5,Bounding Box Visualization,SAM 3,Florence-2 Model,VLM As Classifier,Image Blur,Keypoint Detection Model,Qwen2.5-VL,Dot Visualization,Polygon Zone Visualization,Label Visualization,Icon Visualization,Image Threshold,LMM For Classification,Object Detection Model,OC-SORT Tracker,Blur Visualization,Relative Static Crop,Qwen3.5-VL,Moondream2,Trace Visualization,Perception Encoder Embedding Model,QR Code Detection,Camera Focus,Florence-2 Model,CogVLM,Pixelate Visualization,Llama 3.2 Vision,Image Convert Grayscale,Keypoint Visualization,Polygon Visualization,Google Gemma,Classification Label Visualization,Multi-Label Classification Model,Image Stack,Gaze Detection,Morphological Transformation,Camera Calibration,Google Gemini,Image Preprocessing,Semantic Segmentation Model,Corner Visualization,Halo Visualization,ByteTrack Tracker,Reference Path Visualization,OpenAI,Detections Stitch,Background Color Visualization,Single-Label Classification Model,Ellipse Visualization,Stability AI Outpainting,VLM As Detector,EasyOCR,Triangle Visualization,OCR Model,Crop Visualization,Perspective Correction,Qwen 3.5 API,BoT-SORT Tracker,Instance Segmentation Model,SORT Tracker,Time in Zone,Polygon Visualization,Background Subtraction,Template Matching,Pixel Color Count,OpenAI,Stability AI Inpainting
Input and Output Bindings¶
The available connections depend on its binding kinds. Check what binding kinds
Bounding Box Visualization in version v1 has.
Bindings
-
input
image(image): The image to visualize on..copy_image(boolean): Enable this option to create a copy of the input image for visualization, preserving the original. Use this when stacking multiple visualizations..predictions(Union[keypoint_detection_prediction,rle_instance_segmentation_prediction,object_detection_prediction,instance_segmentation_prediction]): Model predictions to visualize..color_palette(string): Select a color palette for the visualised elements..palette_size(integer): Specify the number of colors in the palette. This applies when using custom or Matplotlib palettes..custom_colors(list_of_values): Define a list of custom colors for bounding boxes in HEX format..color_axis(string): Choose how bounding box colors are assigned..thickness(integer): Thickness of the bounding box edges in pixels. Higher values create thicker, more visible box outlines..roundness(float_zero_to_one): Roundness of the bounding box corners, ranging from 0.0 (square corners) to 1.0 (fully rounded corners). When set to 0.0, square-cornered boxes are used; higher values create progressively more rounded corners..
-
output
image(image): Image in workflows.
Example JSON definition of step Bounding Box Visualization in version v1
{
"name": "<your_step_name_here>",
"type": "roboflow_core/bounding_box_visualization@v1",
"image": "$inputs.image",
"copy_image": true,
"predictions": "$steps.object_detection_model.predictions",
"color_palette": "DEFAULT",
"palette_size": 10,
"custom_colors": [
"#FF0000",
"#00FF00",
"#0000FF"
],
"color_axis": "CLASS",
"thickness": 2,
"roundness": 0.0
}