fast_match_mgT_fast_match_mgFastMatchMgFastMatchMgfast_match_mg (算子)
名称
fast_match_mgT_fast_match_mgFastMatchMgFastMatchMgfast_match_mg — 在金字塔中搜索所有良好的灰度值匹配。
警告
fast_match_mgfast_match_mgFastMatchMgFastMatchMgFastMatchMgfast_match_mg 已过时,仅出于向后兼容性考虑而保留。新应用程序应改用基于形状或基于 NCC 的算子。
签名
void FastMatchMg(const HObject& Image, HObject* Matches, const HTuple& TemplateID, const HTuple& MaxError, const HTuple& NumLevel)
HRegion HTemplate::FastMatchMg(const HImage& Image, double MaxError, const HTuple& NumLevel) const
HRegion HTemplate::FastMatchMg(const HImage& Image, double MaxError, Hlong NumLevel) const
HRegion HImage::FastMatchMg(const HTemplate& TemplateID, double MaxError, const HTuple& NumLevel) const
HRegion HImage::FastMatchMg(const HTemplate& TemplateID, double MaxError, Hlong NumLevel) const
static void HOperatorSet.FastMatchMg(HObject image, out HObject matches, HTuple templateID, HTuple maxError, HTuple numLevel)
HRegion HTemplate.FastMatchMg(HImage image, double maxError, HTuple numLevel)
HRegion HTemplate.FastMatchMg(HImage image, double maxError, int numLevel)
HRegion HImage.FastMatchMg(HTemplate templateID, double maxError, HTuple numLevel)
HRegion HImage.FastMatchMg(HTemplate templateID, double maxError, int numLevel)
描述
算子 fast_match_mgfast_match_mgFastMatchMgFastMatchMgFastMatchMgfast_match_mg like the operator
fast_matchfast_matchFastMatchFastMatchFastMatchfast_match performs a matching of the template of
TemplateIDTemplateIDTemplateIDTemplateIDtemplateIDtemplate_id and ImageImageImageImageimageimage.
In contrast to fast_matchfast_matchFastMatchFastMatchFastMatchfast_match, however, the search for
good matches starts in scaled down images (pyramid).
The number of levels of the pyramid will be determined by
NumLevelNumLevelNumLevelNumLevelnumLevelnum_level.
Hereby the value 1 indicates that no pyramid will be used.
In this case the operator fast_match_mgfast_match_mgFastMatchMgFastMatchMgFastMatchMgfast_match_mg is
equivalent to the operator fast_matchfast_matchFastMatchFastMatchFastMatchfast_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 MaxErrorMaxErrorMaxErrorMaxErrormaxErrormax_error)
will be refined at the corresponding positions
in the original image (ImageImageImageImageimageimage).
The runtime of matching depends on the parameter MaxErrorMaxErrorMaxErrorMaxErrormaxErrormax_error:
the larger the value the longer is the processing time,
because more points of the pattern have to be tested.
If MaxErrorMaxErrorMaxErrorMaxErrormaxErrormax_error is to low the pattern will not be found.
The value has therefore to be optimized for every
application.
NumLevelNumLevelNumLevelNumLevelnumLevelnum_level 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 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.
执行信息
- 多线程类型:可重入(与非独占算子并行运行)。
- 多线程作用域:全局(可从任何线程调用)。
- 在元组级别上自动并行化。
参数
ImageImageImageImageimageimage (输入对象) singlechannelimage(-array) → objectHImageHObjectHImageHobject (byte)
Input image inside of which the pattern has to
be found.
MatchesMatchesMatchesMatchesmatchesmatches (输出对象) region(-array) → objectHRegionHObjectHRegionHobject *
All points which have an error below a certain
threshold.
TemplateIDTemplateIDTemplateIDTemplateIDtemplateIDtemplate_id (输入控制) template → HTemplate, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
模板编号。
MaxErrorMaxErrorMaxErrorMaxErrormaxErrormax_error (输入控制) real → HTuplefloatHTupleHtuple (real) (double) (double) (double)
Maximal average difference of the gray values.
默认值:
30.0
建议值:
0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 9.0, 11.0, 15.0, 17.0, 20.0, 30.0, 40.0, 50.0, 60.0, 70.0
值范围:
0
≤
MaxError
MaxError
MaxError
MaxError
maxError
max_error
≤
255
最小增量:
1
建议增量:
3
NumLevelNumLevelNumLevelNumLevelnumLevelnum_level (输入控制) integer(-array) → HTupleMaybeSequence[int]HTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Number of levels in the pyramid.
默认值:
3
建议值:
1, 2, 3, 4, 5, 6, 7, 8
结果
如果参数值正确,算子 fast_match_mgfast_match_mgFastMatchMgFastMatchMgFastMatchMgfast_match_mg 返回值 2 ( H_MSG_TRUE )。如果输入为空(没有可用输入图像)则可设置行为通过
set_system('no_object_result',<Result>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)set_system("no_object_result",<Result>)。如有必要,则抛出异常。
可能的前趋
create_templatecreate_templateCreateTemplateCreateTemplateCreateTemplatecreate_template,
read_templateread_templateReadTemplateReadTemplateReadTemplateread_template,
adapt_templateadapt_templateAdaptTemplateAdaptTemplateAdaptTemplateadapt_template,
draw_regiondraw_regionDrawRegionDrawRegionDrawRegiondraw_region,
draw_rectangle1draw_rectangle1DrawRectangle1DrawRectangle1DrawRectangle1draw_rectangle1,
reduce_domainreduce_domainReduceDomainReduceDomainReduceDomainreduce_domain
替代
best_matchbest_matchBestMatchBestMatchBestMatchbest_match,
best_match_mgbest_match_mgBestMatchMgBestMatchMgBestMatchMgbest_match_mg,
fast_matchfast_matchFastMatchFastMatchFastMatchfast_match,
exhaustive_matchexhaustive_matchExhaustiveMatchExhaustiveMatchExhaustiveMatchexhaustive_match,
exhaustive_match_mgexhaustive_match_mgExhaustiveMatchMgExhaustiveMatchMgExhaustiveMatchMgexhaustive_match_mg
模块
匹配