Skip to content

Corner Visualization

Class: CornerVisualizationBlockV1

Source: inference.core.workflows.core_steps.visualizations.corner.v1.CornerVisualizationBlockV1

Draw corner markers at the four corners of detected object bounding boxes, providing a minimal, clean visualization style that marks object locations without full bounding box outlines.

How This Block Works

This block takes an image and detection predictions and draws corner markers at the four corners of each detected object's bounding box. The block:

  1. Takes an image and predictions as input
  2. Identifies bounding box coordinates for each detected object
  3. Calculates the four corner positions (top-left, top-right, bottom-left, bottom-right) of each bounding box
  4. Applies color styling based on the selected color palette, with colors assigned by class, index, or track ID
  5. Draws corner markers (typically L-shaped lines or corner indicators) at each corner position using Supervision's BoxCornerAnnotator
  6. Applies the specified thickness and corner length to control the appearance of the corner markers
  7. Returns an annotated image with corner markers overlaid on the original image

The block draws minimal corner markers instead of full bounding boxes, creating a clean, unobtrusive visualization style. This approach marks object locations clearly while maintaining a minimal aesthetic that doesn't overwhelm the image with full rectangular outlines. The corner markers can be customized with different thickness and length values, and colors can be assigned based on object class, index, or tracking ID, making it easy to distinguish between different objects or object types.

Common Use Cases

  • Minimal Object Marking: Mark detected objects with corner indicators instead of full bounding boxes for a clean, unobtrusive visualization style that preserves image clarity while still indicating object locations
  • Aesthetic Visualization Design: Create visually minimal annotations for presentations, dashboards, or user interfaces where full bounding boxes would be too visually intrusive but corner markers provide sufficient location indication
  • Dense Scene Visualization: Use corner markers when working with many detected objects in dense scenes where full bounding boxes would overlap excessively and create visual clutter
  • Design-Oriented Applications: Apply corner markers in design workflows, artistic visualizations, or creative applications where a minimal, modern aesthetic is preferred over traditional bounding box outlines
  • Subtle Object Highlighting: Mark object locations subtly without drawing attention away from the main image content, useful for background annotations or when object location indication is needed without visual prominence
  • UI and Dashboard Integration: Integrate corner markers into user interfaces, dashboards, or interactive applications where minimal visual indicators are preferred for better user experience and reduced visual noise

Connecting to Other Blocks

The annotated image from this block can be connected to:

  • Other visualization blocks (e.g., Label Visualization, Dot Visualization, Bounding Box Visualization) to combine corner markers with additional annotations for comprehensive visualization
  • Data storage blocks (e.g., Local File Sink, CSV Formatter, Roboflow Dataset Upload) to save annotated images with corner markers for documentation, reporting, or analysis
  • Webhook blocks to send visualized results with corner markers 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 with corner markers as visual evidence in alerts or reports
  • Video output blocks to create annotated video streams or recordings with corner markers for live monitoring, tracking visualization, or post-processing analysis

Type identifier

Use the following identifier in step "type" field: roboflow_core/corner_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 corner marker lines in pixels. Higher values create thicker, more visible corner markers..
corner_length int Length of each corner marker line segment in pixels. This controls how long the corner indicators extend from each corner point. Higher values create longer, more prominent corner markers..

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 Corner Visualization in version v1.

Input and Output Bindings

The available connections depend on its binding kinds. Check what binding kinds Corner 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[rle_instance_segmentation_prediction, object_detection_prediction, keypoint_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 corner marker lines in pixels. Higher values create thicker, more visible corner markers..
    • corner_length (integer): Length of each corner marker line segment in pixels. This controls how long the corner indicators extend from each corner point. Higher values create longer, more prominent corner markers..
  • output

    • image (image): Image in workflows.
Example JSON definition of step Corner Visualization in version v1
{
    "name": "<your_step_name_here>",
    "type": "roboflow_core/corner_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": 4,
    "corner_length": 15
}