原图
模板
训练图
待匹配图
代码
封装函数
****visualize_bin_switch_match (AngleCompInst, Match, WindowHandle)*****
DeltaAngle := abs(AngleCompInst[0] - AngleCompInst[1])
if (DeltaAngle > rad(180))
DeltaAngle := rad(360) - DeltaAngle
endif
RowResult := 380 + 35 * Match
set_tposition (WindowHandle, RowResult, 20)
dev_set_color ('blue')
write_string (WindowHandle, 'Switch ' + Match + ' is')
*组件下端位置用矩形表示
dev_set_color ('green')
disp_rectangle1 (WindowHandle, RowResult + 5, 237, RowResult + 20, 269)
*画斜三角形表示开关状态
if (DeltaAngle < rad(15))
dev_set_color ('green')
write_string (WindowHandle, ' on')
dev_set_color ('red')
disp_polygon (WindowHandle, [RowResult,RowResult,RowResult - 10,RowResult], [253,269,241,253])
else
dev_set_color ('red')
write_string (WindowHandle, ' off')
disp_polygon (WindowHandle, [RowResult,RowResult - 10,RowResult,RowResult], [253,265,237,253])
endif
主函数
*此示例演示如何按顺序使用基于组件的匹配
*查找由两个组件组成的交换机的所有实例。这个
*相对运动(关系)是自动训练只用一个
*训练形象。因为模型图像显示开关已打开,所以
*关闭一个显示关闭的图像
*包括所有的相对运动。创建组件模型后
*在运行时映像中可以找到交换机的实例。最后,角度
*两个组件之间的差异可以用来决定
*打开或关闭图像中显示的开关。
dev_update_off ()
dev_set_draw