Most Similar Shape

This function block compares a reference contour against a list of candidate contours and selects the most similar one. It returns the best-matching contour, a similarity score (0-1), and an annotated image showing the selected contour.

πŸ“₯ Inputs

  • Contour Reference contour used for comparison

  • Contour(s) List of candidate contours to compare against

  • Image Optional image used for visual output/annotation

πŸ“€ Outputs

  • Most Similar The contour from the candidate list that best matches the reference

  • Score (0-1) Similarity score (1.0 means identical, lower values indicate less similarity)

  • Image Any Optional annotated image with the selected contour highlighted

πŸ•ΉοΈ Controls

This function block has no user-configurable controls. It runs automatically when inputs are provided.

🎨 Features

  • Fast comparison of shapes to find the closest match in a list.

  • Produces both a numeric similarity score and a visual result for verification.

  • Works with any contour format accepted by the system.

πŸ“ Usage Instructions

  1. Provide a reference contour to Contour input.

  2. Provide one or more candidate contours to Contour(s) input.

  3. Optionally supply an image to Image to receive an annotated visual showing which contour was chosen.

  4. Run the scenario; outputs will include the selected contour, its similarity score, and the annotated image if supplied.

πŸ“Š Evaluation

When evaluated, this block measures resemblance between the reference contour and each candidate. It returns the candidate with the best resemblance (highest similarity) along with a numeric score and an annotated image (if provided).

πŸ’‘ Tips and Tricks

  • To extract contours from a binary image first, use Find Contour to get contours suitable for comparison.

  • Use Approximate Contour to simplify contours (reduce point count) before comparison when shapes are noisy or overly detailed.

  • Combine with Hull Convex to compare convex hulls instead of raw contours when outer shape similarity is desired.

  • Use Minimum Rectangle, Minimum Ellipse, or Minimum Circle to convert contours into simple geometric descriptors for alternate comparison strategies.

  • Preprocess input images with Blur, Denoising, or Image Threshold to reduce noise and improve contour extraction.

  • If you want to visually inspect the selected result, connect the annotated image output to Show Image.

  • Use Contour to Image to crop or isolate the region around a contour for further inspection or downstream processing.

  • Draw the selected contour on live output using Draw Result On Image or Draw Detections for clearer visualization in dashboards.

  • If you only need to compare contours within a sub-area, crop first with Image ROI or Image ROI Select to limit candidates and speed up processing.

  • For batch comparisons over multiple regions, use Image ROI Polygon or Image ROI Polygon Multi to generate multiple areas and feed their contours into this block.

πŸ› οΈ Troubleshooting

  • If similarity scores are unexpectedly low, ensure contours are extracted from a clean binary image (use Image Threshold and Blur as needed).

  • If multiple candidates produce similar scores, simplify contours with Approximate Contour or compare bounding shapes (Minimum Rectangle, Minimum Ellipse) to reduce sensitivity to small differences.

  • If the visual output does not show the selected contour, verify an image was provided to the Image input or connect the block output to Show Image for preview.

Last updated

Was this helpful?