Template Matching¶
Class: TemplateMatchingBlockV1
Source: inference.core.workflows.core_steps.classical_cv.template_matching.v1.TemplateMatchingBlockV1
Apply Template Matching to an image. Block is based on OpenCV library function called cv2.matchTemplate(...)
that searches for a template image within a larger image. This is often used in computer vision tasks where
you need to find a specific object or pattern in a scene, like detecting logos, objects, or
specific regions in an image.
Please take into account the following characteristics of block: * it tends to produce overlapping and duplicated predictions, hence we added NMS which can be disabled * block may find very large number of matches in some cases due to simplicity of methods being used - in that cases NMS may be computationally intractable and should be disabled
Output from the block is in a form of sv.Detections objects which can be nicely paired with other blocks accepting this kind of input (like visualization blocks).
Type identifier¶
Use the following identifier in step "type"
field: roboflow_core/template_matching@v1
to add the block as
as step in your workflow.
Properties¶
Name | Type | Description | Refs |
---|---|---|---|
name |
str |
Enter a unique identifier for this step.. | ❌ |
matching_threshold |
float |
The threshold value for template matching.. | ✅ |
apply_nms |
bool |
Flag to decide if NMS should be applied at the output detections.. | ✅ |
nms_threshold |
float |
The threshold value NMS procedure (if to be applied).. | ✅ |
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 Template Matching
in version v1
.
- inputs:
Stitch Images
,Pixelate Visualization
,SIFT Comparison
,Gaze Detection
,Corner Visualization
,Blur Visualization
,Mask Visualization
,Perspective Correction
,Cosine Similarity
,SIFT
,Local File Sink
,Model Monitoring Inference Aggregator
,Polygon Zone Visualization
,Polygon Visualization
,VLM as Classifier
,Halo Visualization
,VLM as Detector
,Grid Visualization
,Image Slicer
,Model Comparison Visualization
,Trace Visualization
,Camera Focus
,Twilio SMS Notification
,Image Threshold
,Email Notification
,Keypoint Visualization
,Detections Consensus
,Crop Visualization
,Webhook Sink
,Image Preprocessing
,Roboflow Custom Metadata
,Roboflow Dataset Upload
,Roboflow Dataset Upload
,VLM as Classifier
,Slack Notification
,Clip Comparison
,Identify Changes
,SIFT Comparison
,Image Blur
,Relative Static Crop
,Circle Visualization
,Image Convert Grayscale
,Dot Visualization
,Background Color Visualization
,Bounding Box Visualization
,Ellipse Visualization
,Image Contours
,Label Visualization
,Classification Label Visualization
,Line Counter Visualization
,JSON Parser
,Identify Outliers
,Stability AI Inpainting
,Reference Path Visualization
,VLM as Detector
,Dynamic Crop
,Color Visualization
,Triangle Visualization
,Absolute Static Crop
- outputs:
Path Deviation
,Pixelate Visualization
,Stitch Images
,Keypoint Detection Model
,Line Counter
,Instance Segmentation Model
,Blur Visualization
,Mask Visualization
,Object Detection Model
,Line Counter
,Detections Filter
,Model Monitoring Inference Aggregator
,Polygon Visualization
,Halo Visualization
,Grid Visualization
,Model Comparison Visualization
,Email Notification
,Byte Tracker
,Image Threshold
,Keypoint Visualization
,Detections Classes Replacement
,Image Preprocessing
,Detection Offset
,Roboflow Dataset Upload
,Slack Notification
,Stitch OCR Detections
,Identify Changes
,Background Color Visualization
,Bounding Box Visualization
,Ellipse Visualization
,Label Visualization
,Line Counter Visualization
,Image Contours
,Byte Tracker
,Classification Label Visualization
,Reference Path Visualization
,Dynamic Crop
,Dominant Color
,Byte Tracker
,Triangle Visualization
,Absolute Static Crop
,Object Detection Model
,Distance Measurement
,Time in Zone
,Florence-2 Model
,Detections Stitch
,SIFT Comparison
,Keypoint Detection Model
,Corner Visualization
,Perspective Correction
,Trace Visualization
,Size Measurement
,Detections Consensus
,Image Slicer
,Webhook Sink
,Roboflow Custom Metadata
,Twilio SMS Notification
,Crop Visualization
,Instance Segmentation Model
,Roboflow Dataset Upload
,Anthropic Claude
,SIFT Comparison
,Image Blur
,Dot Visualization
,Circle Visualization
,Dynamic Zone
,Segment Anything 2 Model
,Identify Outliers
,Time in Zone
,Florence-2 Model
,Detections Stabilizer
,Path Deviation
,Color Visualization
,Pixel Color Count
,Detections Transformation
Input and Output Bindings¶
The available connections depend on its binding kinds. Check what binding kinds
Template Matching
in version v1
has.
Bindings
-
input
image
(image
): The input image for this step..template
(image
): The template image for this step..matching_threshold
(float
): The threshold value for template matching..apply_nms
(boolean
): Flag to decide if NMS should be applied at the output detections..nms_threshold
(float_zero_to_one
): The threshold value NMS procedure (if to be applied)..
-
output
predictions
(object_detection_prediction
): Prediction with detected bounding boxes in form of sv.Detections(...) object.number_of_matches
(integer
): Integer value.
Example JSON definition of step Template Matching
in version v1
{
"name": "<your_step_name_here>",
"type": "roboflow_core/template_matching@v1",
"image": "$inputs.image",
"template": "$inputs.template",
"matching_threshold": 0.8,
"apply_nms": "$inputs.apply_nms",
"nms_threshold": "$inputs.nms_threshold"
}