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:
Corner Visualization,QR Code Generator,Polygon Visualization,Seg Preview,Detections Combine,JSON Parser,Stability AI Inpainting,Local File Sink,Stitch OCR Detections,Label Visualization,Camera Focus,Twilio SMS Notification,Path Deviation,Anthropic Claude,Image Threshold,Google Gemini,Distance Measurement,Color Visualization,Motion Detection,Gaze Detection,Perspective Correction,Slack Notification,VLM As Classifier,Object Detection Model,Polygon Visualization,Circle Visualization,SIFT Comparison,Dot Visualization,Contrast Equalization,VLM As Detector,Reference Path Visualization,Image Slicer,Velocity,Halo Visualization,Byte Tracker,Pixel Color Count,Path Deviation,Roboflow Custom Metadata,Single-Label Classification Model,OpenAI,Byte Tracker,SAM 3,Image Convert Grayscale,Text Display,Detections List Roll-Up,Moondream2,Image Slicer,SAM 3,LMM,Clip Comparison,OCR Model,Morphological Transformation,Detections Stitch,Icon Visualization,OpenAI,Line Counter,EasyOCR,Keypoint Detection Model,Llama 3.2 Vision,Object Detection Model,Detections Transformation,Trace Visualization,Anthropic Claude,Relative Static Crop,Instance Segmentation Model,Time in Zone,Stability AI Image Generation,Camera Calibration,Roboflow Dataset Upload,SIFT Comparison,Email Notification,Twilio SMS/MMS Notification,Time in Zone,Florence-2 Model,Triangle Visualization,Blur Visualization,Background Subtraction,Buffer,Google Gemini,Detection Event Log,PTZ Tracking (ONVIF).md),Mask Area Measurement,Depth Estimation,Identify Changes,Dynamic Zone,Keypoint Visualization,Google Gemini,Ellipse Visualization,Stitch OCR Detections,VLM As Detector,Image Contours,Camera Focus,Clip Comparison,Multi-Label Classification Model,Florence-2 Model,Pixelate Visualization,YOLO-World Model,Model Monitoring Inference Aggregator,Bounding Box Visualization,VLM As Classifier,Line Counter Visualization,Webhook Sink,Identify Outliers,Overlap Filter,Roboflow Dataset Upload,Detections Stabilizer,OpenAI,Dimension Collapse,Grid Visualization,CogVLM,CSV Formatter,Background Color Visualization,SIFT,SAM 3,Stability AI Outpainting,LMM For Classification,Mask Visualization,Instance Segmentation Model,Bounding Rectangle,Anthropic Claude,Byte Tracker,Size Measurement,OpenAI,Line Counter,Detection Offset,Detections Filter,Model Comparison Visualization,Dynamic Crop,Halo Visualization,Detections Classes Replacement,Heatmap Visualization,Classification Label Visualization,Keypoint Detection Model,Crop Visualization,Segment Anything 2 Model,Email Notification,Time in Zone,Image Blur,Polygon Zone Visualization,Absolute Static Crop,Stitch Images,Image Preprocessing,Google Vision OCR,Detections Merge,Detections Consensus,Template Matching - outputs:
Corner Visualization,QR Code Detection,Seg Preview,Polygon Visualization,Barcode Detection,Twilio SMS/MMS Notification,Stability AI Inpainting,Florence-2 Model,Triangle Visualization,Blur Visualization,Anthropic Claude,Camera Focus,Label Visualization,Image Threshold,Google Gemini,Background Subtraction,Buffer,Google Gemini,Depth Estimation,Motion Detection,Gaze Detection,Color Visualization,Perspective Correction,CLIP Embedding Model,Keypoint Visualization,VLM As Classifier,Google Gemini,Ellipse Visualization,Object Detection Model,VLM As Detector,Image Contours,Camera Focus,Clip Comparison,Dominant Color,Circle Visualization,SIFT Comparison,Polygon Visualization,Multi-Label Classification Model,Florence-2 Model,Pixelate Visualization,Template Matching,YOLO-World Model,SmolVLM2,Dot Visualization,Contrast Equalization,VLM As Detector,Bounding Box Visualization,VLM As Classifier,Line Counter Visualization,Reference Path Visualization,Image Slicer,Qwen3-VL,Halo Visualization,Multi-Label Classification Model,Pixel Color Count,Roboflow Dataset Upload,Detections Stabilizer,Single-Label Classification Model,OpenAI,Byte Tracker,OpenAI,SAM 3,Text Display,Image Convert Grayscale,CogVLM,Moondream2,Background Color Visualization,Single-Label Classification Model,Image Slicer,SIFT,SAM 3,Stability AI Outpainting,LMM For Classification,Mask Visualization,Instance Segmentation Model,Qwen2.5-VL,SAM 3,LMM,Clip Comparison,Anthropic Claude,OCR Model,OpenAI,Model Comparison Visualization,Morphological Transformation,Detections Stitch,Icon Visualization,Dynamic Crop,Halo Visualization,OpenAI,Perception Encoder Embedding Model,EasyOCR,Llama 3.2 Vision,Keypoint Detection Model,Heatmap Visualization,Classification Label Visualization,Keypoint Detection Model,Object Detection Model,Crop Visualization,Segment Anything 2 Model,Email Notification,Trace Visualization,Time in Zone,Image Blur,Polygon Zone Visualization,Anthropic Claude,Instance Segmentation Model,Relative Static Crop,Absolute Static Crop,Stitch Images,Image Preprocessing,Google Vision OCR,Stability AI Image Generation,Camera Calibration,Roboflow Dataset Upload
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,object_detection_prediction,rle_instance_segmentation_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
}