Halcon match template 運算元

JianJie
2 min readSep 20, 2020

--

模板比對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

--

--

JianJie
JianJie

Written by JianJie

Image Processing / Computer Vision / Deep Learning

No responses yet