You are here: Start » Filter Reference » Template Matching » CreateGrayModel
Creates a model for NCC or SAD template matching.
Name | Type | Range | Description | |
---|---|---|---|---|
inImage | Image | Image from which model will be extracted | ||
inTemplateRegion | Region* | Region of the image from which model will be extracted | ||
inReferenceFrame | Rectangle2D* | Exact position of the model object in the image | ||
inMinPyramidLevel | Integer | 0 - 12 | Defines the index of the lowest reduced resolution level used to speed up computations | |
inMaxPyramidLevel | Integer* | 0 - 12 | Defines the number of reduced resolution levels used to speed up computations | |
inMinAngle | Real | Start of range of possible rotations | ||
inMaxAngle | Real | End of range of possible rotations | ||
inAnglePrecision | Real | 0.001 - 10.0 | Defines angular resolution of the matching process | |
inMinScale | Real | 0.0 - | Start of range of possible scales | |
inMaxScale | Real | 0.0 - | End of range of possible scales | |
inScalePrecision | Real | 0.001 - 10.0 | Defines scale resolution of the matching process | |
outGrayModel | GrayModel | Created model that can be used by LocateMultipleObjects_NCC and LocateMultipleObjects_SAD filters | ||
outGrayModelPoint | Point2D | The middle point of the created model | ||
diagTemplatePyramid | ImageArray | Visualization of the model at different resolution levels |
Applications
Description
The operation creates a Gray Matching model for the object represented in inTemplateRegion region in inImage image. The resulting model can be matched against any image using the LocateMultipleObjects_NCC filter or the LocateMultipleObjects_SAD filter.
The model consists of a pyramid of iteratively downsampled images, the original image being the first of them. The inMaxPyramidLevel parameter determines how many additional images of the pyramid shall be computed. Greater inMaxPyramidLevel values can speed up matching process considerably, but it should be set so the image on the highest pyramid level is not too distorted.
The inMinAngle and inMaxAngle parameters describe possible rotation angles of the model, i.e. only those object occurrences will be later found by LocateMultipleObjects_NCC (or LocateMultipleObjects_SAD) whose rotation angles are in the range <inMinAngle,inMaxAngle>. The inAnglePrecision parameter controls the angular resolution of the matching process. The model is created in several rotations. The angles of consecutive rotations differ by an angle step from each other. The value of this angle step is determined on the basis of inAnglePrecision. Its value represents the multiplicity of the automatically computed angle step used as an actual step. So the greater inAnglePrecision is, the greater accuracy can be achieved and the lower is the chance of missing object occurrences. In practice however increasing inAnglePrecision above a certain threshold (unique for every object) does not increase the accuracy, only the computation time.
The inReferenceFrame is a characteristic rectangle, the position of which will be returned by LocateMultipleObjects_NCC (or LocateMultipleObjects_SAD) as an occurrence of the object. By default, it is set to the bounding box of the inTemplateRegion.
Remarks
For more information about local coordinate systems please refer to the following article.
Additional information about Template Matching can be found in Machine Vision Guide: Template Matching
Hardware Acceleration
This operation supports automatic parallelization for multicore and multiprocessor systems.
Errors
This filter can throw an exception to report error. Read how to deal with errors in Error Handling.
List of possible exceptions:
Error type | Description |
---|---|
DomainError | Incorrect scale range in CreateGrayModel. |
DomainError | Minimal pyramid level cannot be greater than maximal pyramid level in CreateGrayModel. |
DomainError | Region of interest exceeds an input image in CreateGrayModel. |
Complexity Level
This filter is available on Advanced Complexity Level.
See Also
- LocateMultipleObjects_NCC – Finds all occurrences of a predefined template on an image by analysing the normalized correlation between pixel values.
- LocateMultipleObjects_SAD – Finds multiple occurrences of a predefined template on an image by analysing the Square Average Difference between pixel values.
- LocateSingleObject_NCC – Finds a single occurrence of a predefined template on an image by analysing the normalized correlation between pixel values.
- LocateSingleObject_SAD – Finds a single occurrence of a predefined template on an image by analysing the Square Average Difference between pixel values.