第二十一课: 模板匹配的基本概念--模板匹配的分类及注意事项

本文深入讲解基于形状的模板匹配技术,包括创建边缘模板、边缘轮廓模板及可缩放模板的方法,探讨了模板对比度、对称性选择及匹配过程中的图像金字塔应用。同时介绍了模板创建与调整技巧,以及如何使用特定算子查看模板形状。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

---first_example_shape_matching.hdev

模板匹配主要分三种,基于形状,基于相关性,基于灰度,主要掌握基于形状的模板匹配。基于形状的模板匹配主要分为创建边缘模板(create_shape_model)、创建边缘轮廓模板(create_shape_model_xld)该模板的输入参数为轮廓,两种都和算子find_shape_model一起使用。创建具有缩放比的模板(create_scaled_shape_model)和算子find_scaled_shape_model一起使用

1、get_image_pointer1(Image : : : Pointer, Type, Width, Height)

      返回指向图像的第一个通道的指针,根据输出类型并返回图像的宽和高

2、三种创建形状模板的算子

     1)create_shape_model创建边缘模板

                                      

      2)create_shape_model_xld创建边缘轮廓模板

Template ://参数为轮廓                  

 : NumLevels

AngleStart,

 AngleExtent

AngleStep

Optimization

Metric

Contrast

MinContrast : 

ModelID)

     3)create_scaled_shape_model创建具有缩放比的模板

        Template : : 

NumLevels

AngleStart

AngleExtent

AngleStep

ScaleMin, //图像的最小比例

ScaleMax, //图像最大比列

ScaleStep, //一般设置为自动

Optimization

Metric

Contrast

MinContrast : 

ModelID) 创建可缩放的形状模板与create_shape_model相比只多了ScaleMinScaleMaxScaleStep三个参数

   常见的创建形状模板的算子

    

3、查看模板和创建模板中的Contrast对比度为了提取边缘 

          

             

          

           

对称性和角度范围选择

 

                                                                                             如果模板匹配用于定位,则尽量不要选取对称的对象为模板  

 

4、模板匹配过程

          

                                                                                              图像金字塔

如果金子塔为4层,则将图像按比例缩小,分为4个等级,先用金子塔层数为4的模板去匹配按比例缩小的等级为 4的原图像,找到相应目标后,在这个基础上再用金字塔为3的模板去匹配缩小的等级为3的原图像,如此。。。。。。最后直到用金字塔最底层的模板去匹配原图像,找到对应目标。这种手法有利于提升匹配效率

5、如果彷射变换affine_trans_contour_xld 算子以get_shape_model_contours 输出参数ShapeModel 为输入对象,刚性仿射变换 vector_angle_to_rigid的Row,column,angel坐标参数为0,0,0 

           get_shape_model_contours (ShapeModel, ModelID, 1)                     

           vector_angle_to_rigid (0, 0, 0, RowCheck, ColumnCheck, AngleCheck, MovementOfObject)
           affine_trans_contour_xld (ShapeModel, ModelAtNewPosition, MovementOfObject)   

       

          自己做模板时,可以先创建一个模板,然后保持模板图像不动,利用find_shape_model算子在模板图像中找到相应模板并输出该图像的中心坐标位置,该位置即为模板的中心位置,仿射变换时可以以该位置为模板的中心位置 

           模板匹配时大多数情况下用CAD做模板                       

6、inspect_shape_model(Image : ModelImages, ModelRegions : NumLevels, Contrast : )

      查看模板的形状,需注意该算子输出的模板是一个骨架,骨架也是区域。常和算子gen_contours_skeleton_xld将骨架转轮廓一起使用,注意如果和gen_contours_region_xld将会输出不一样的效果

                             

                                   输出的模板(骨架)                                                                    中间白色的线条为骨架转轮廓

                                                                        

                                                                                                    区域转轮廓

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值