模板比對match template:
在影像中(Image)找出與模板(Template)相似的區域,利用不同的計算方式,可以對不同的情況(旋轉、縮放、遮蔽等)有較好的適應性
匹配流程:
取得影像(Acquire Image) -> 建立模型 or 模板(Create Model) -> 找相對應區域(Find Model) -> 清除模型(Destory Model)
Gray Value Model:
create_ncc_model(Template : : NumLevels, AngleStart, AngleExtent, AngleStep, Metric : ModelID)
find_ncc_model(Image : : ModelID, AngleStart, AngleExtent, MinScore, NumMatches, MaxOverlap, SubPixel, NumLevels : Row, Column, Angle, Score)
利用NCC (noramlized cross correlation) 計算模板與圖片的相關性,輸入為灰階影像,其公式為:
基於灰階度的匹配,NCC優點: 應用於有紋理、輕微形變、模糊圖片
經過Normalize後,光線影響較小,與openCV matchTemplate 中 TM_CCOEFF_NORMED 相同
create_template(Template : : FirstError, NumLevel, Optimize, GrayValues : TemplateID)
best_match(Image : : TemplateID, MaxError, SubPixel : Row, Column, Error)
best_match_mg(Image : : TemplateID, MaxError, SubPixel, NumLevels, WhichLevels : Row, Column, Error)
best_match_rot_mg(Image : : TemplateID, AngleStart, AngleExtend, MaxError, SubPixel, NumLevels : Row, Column, Angle, Error)
灰階模板匹配,可選擇原始圖片、Gradient、Normalized、Sobel模板,公式為:
找最匹配之結果,被NCC model 或 shape model 取代
Shape Model:
create_shape_model(Template : : NumLevels, AngleStart, AngleExtent, AngleStep, Optimization, Metric, Contrast, MinContrast : ModelID)
find_shape_model(Image : : ModelID, AngleStart, AngleExtent, MinScore, NumMatches, MaxOverlap, SubPixel, NumLevels, Greediness : Row, Column, Angle, Score)
原始shape model
create_aniso_shape_model(Template : : NumLevels, AngleStart, AngleExtent, AngleStep, ScaleRMin, ScaleRMax, ScaleRStep, ScaleCMin, ScaleCMax, ScaleCStep, Optimization, Metric, Contrast, MinContrast : ModelID)
find_aniso_shape_model(Image : : ModelID, AngleStart, AngleExtent, ScaleRMin, ScaleRMax, ScaleCMin, ScaleCMax, MinScore, NumMatches, MaxOverlap, SubPixel, NumLevels, Greediness : Row, Column, Angle, ScaleR, ScaleC, Score)
可於Row、Column縮放及旋轉的shape model
create_scaled_shape_model(Template : : NumLevels, AngleStart, AngleExtent, AngleStep, ScaleMin, ScaleMax, ScaleStep, Optimization, Metric, Contrast, MinContrast : ModelID)
find_scaled_shape_model(Image : : ModelID, AngleStart, AngleExtent, ScaleMin, ScaleMax, MinScore, NumMatches, MaxOverlap, SubPixel, NumLevels, Greediness : Row, Column, Angle, Scale, Score)
等比例縮放及旋轉的shape model
Deformable model:
create_local_deformable_model(Template : : NumLevels, AngleStart, AngleExtent, AngleStep, ScaleRMin, ScaleRMax, ScaleRStep, ScaleCMin, ScaleCMax, ScaleCStep, Optimization, Metric, Contrast, MinContrast, GenParamName, GenParamValue : ModelID)
find_local_deformable_model(Image : ImageRectified, VectorField, DeformedContours : ModelID, AngleStart, AngleExtent, ScaleRMin, ScaleRMax, ScaleCMin, ScaleCMax, MinScore, NumMatches, MaxOverlap, NumLevels, Greediness, ResultType, GenParamName, GenParamValue : Score, Row, Column)
區域性形變的model