- 读取图片
read_image - 灰度筛选
threshold - 面积筛选
select_shape - 分区
connection - 膨胀(填充缝隙)
dilation_circle - 勾画边缘(轮廓)
gen_contour_region_xld - 建立轮廓模型
create_scaled_shape_model_xld (Contours, ‘auto’, rad(0), rad(360), ‘auto’, 0.8, 1.1, ‘auto’, ‘auto’, ‘ignore_local_polarity’, 7, ModelID)
参数:
金字塔:金字塔就是对图片做卷积,也就是特征的提取,金字塔级数越大,抽取的特征越抽象,判定的速度就越快。
旋转起始范围
旋转结束范围
得分最少
得分最高 - 获取形状轮廓模型
get_shape_model_contours - 生成模版
write_shape_model (ModelID, ‘G:/img_model10.shm’) - 读取新的图片
- 进行模板匹配
find_scaled_shape_model (Image2, ModelID, rad(0)最小角度, rad(360)最大角度, 0.8最小缩放比例, 1.1最大缩放比例, 0.6最低得分, 1匹配个数, 0.5最大重叠率, 'least_squares’是否进行亚像素匹配, 0金字塔层数, 0.9, RowCheck, ColumnCheck, AngleCheck, ScaleCheck, Score)
最小角度
最大角度
最小缩放比例
最大缩放比例
最低得分
匹配个数
最大重叠率
MaxOverlap是用于设置形状匹配模型匹配结果的最大重叠率的参数。它是通过百分比表示的,取值范围为0到1之间。
重叠率是指两个区域或对象之间的重叠程度或重叠面积的比例。在图像处理和模式匹配中,重叠率通常用于衡量两个区域或对象之间的相似度或重合程度。在形状匹配中,重叠率是指待匹配的模板和匹配目标之间的重叠面积与它们各自的面积之比。重叠率越高,表示两个形状越相似或重合度越高。
重叠率的取值范围是0到1之间,一般使用百分比表示。当重叠率为0时,表示两个区域没有重叠;当重叠率为1时,表示两个区域完全重合。
形状匹配模型匹配结果的最大重叠率指的是,在进行形状匹配后,如果多个匹配结果之间的重叠率超过了设置的最大重叠率,则只选择其中一个结果作为最终的匹配结果,其他重叠率较高的结果将被舍弃。
例如,如果设置MaxOverlap为0.5,则表示只有当两个匹配结果之间的重叠率小于等于50%时,才会将其都作为有效的匹配结果返回,否则只选择其中一个作为最终的匹配结果。
通过调整MaxOverlap参数,可以控制形状匹配的精确程度和对结果的筛选。较大的MaxOverlap值允许更多的重叠,可以获得更多的匹配结果,但可能会导致结果不够精确;较小的MaxOverlap值则会筛选掉一些重叠较多的匹配结果,可以得到更加准确的匹配结果。具体的取值需要根据具体的应用需求进行调整。
是否进行亚像素匹配
SubPixel是用于指定是否进行亚像素级别的匹配精度的参数。
当SubPixel参数被设置为’true’时,形状匹配算法会在匹配结果中使用亚像素级别的精度,从而提高匹配结果的准确性。它会对匹配结果进行亚像素插值,使得匹配的位置可以更加精确地表示在图像上的像素位置。
在形状匹配中,通常使用局部搜索策略,在较大的搜索窗口中对匹配模板进行寻找。但是,由于像素的离散性,最终得到的匹配位置可能只能精确到像素级别。通过使用SubPixel参数,可以进一步提高匹配结果的精度,将匹配位置的精度提升到亚像素级别。
金字塔层数
搜索启发式的“贪婪”(0:安全但缓慢;1:快速但可能错过匹配)。
输出值
点.y阵列→ (真实)
找到的模型实例的行坐标。
列(output_control)点.x-数组→ (真实)
找到的模型实例的列坐标。
角度(output_control)Angle.rad-array→ (真实)
找到的模型实例的旋转角度。
比例(output_control)数字数组→ (真实)
找到的模型实例的比例。
分数(output_control)实数数组→ (真实)
找到的模型实例的分数。