Searching all good grayvalue matches in a pyramid.
The operator ::fast_match_mg like the operator ::fast_match performs a matching of the template of TemplateID and Image. In contrast to ::fast_match, however, the search for good matches starts in scaled down images (pyramid). The number of levels of the pyramid will be determined by NumLevel. Hereby the value 1 indicates that no pyramid will be used. In this case the operator ::fast_match_mg is equivalent to the operator ::fast_match. The value 2 triggers the search in the image with half the framesize. The search for all those points showing an error small enough in the scaled down image (error smaller than MaxError) will be refined at the corresponding positions in the original image (Image).
The runtime of matching dependends on the parameter MaxError: the larger the value the longer is the processing time, because more points of the pattern have to be tested. If MaxError is to low the pattern will not be found. The value has therefore to be optimized for every application.
NumLevel indicates the number of levels of the pyramid, including the original image. Optionally a second value can be given. This value specifies the number (0..n) of the lowest level which is used the the matching. The region found up to this level will then be zoomed to the size of the original level. This can used to increase the runtime in the case that the accuracy does not have to be so high.
|
Image (input_object) |
image(-array) -> Hobject: HImage(Array) ( byte ) |
| Input image inside of which the pattern has to be found. | |
|
Matches (output_object) |
region(-array) -> Hobject * : HRegion(Array) |
| All points which have an error below a certain threshold. | |
|
TemplateID (input_control) |
template -> HTuple.long |
| Template number. | |
|
MaxError (input_control) |
real -> HTuple.double |
| Maximal average difference of the grayvalues. | |
| Default value: 30 | |
| Suggested values: 0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 15, 17, 20, 30, 40, 50, 60, 70 | |
| Typical range of values: 0 <= MaxError <= 255 | |
| Minimum increment: 1 | |
|
Recommended increment: 3 | |
|
NumLevel (input_control) |
integer(-array) -> HTuple.long |
| Number of levels in the pyramid. | |
| Default value: 3 | |
| List of values: 1, 2, 3, 4, 5, 6, 7, 8 | |
If the parameter values are correct, the operator ::fast_match_mg returns the value H_MSG_TRUE. If the input is empty (no input images are available) the behaviour can be set via ::set_system('no_object_result',<Result>). If necessary, an exception handling is raised.
::create_template, ::read_template, ::adapt_template, ::draw_region, ::draw_rectangle1, ::reduce_domain
::best_match, ::best_match_mg, ::fast_match, ::exhaustive_match, ::exhaustive_match_mg
Gray value template matching