一、根据匹配模板输出模板中心数组
- in_center:模板匹配的信息数组
- out_point:模板匹配的中心坐标点数组
- 注意:这里面需要注意的是MVP里面的数组Array都是<key,value>的形式

程序块
cs
复制代码
PatternMatchInfoArray mypoint;
Point2DfArray outpoint = new Point2DfArray();
int i = 0;
TryGetInputParam("in_center",out mypoint);
foreach(var item in mypoint.Values)
{
outpoint.Add("point"+ i.ToString(),item.center);
i++;
}
SetOutputParam("out_point",outpoint);
二、从已知坐标点里输出y值最大的点
- in_point:坐标点数组
- out_x:最高点的x值
- out_y:最高点的y值
- out_msg:是否有输入点

程序块
cs
复制代码
Point2DfArray mypoint;
Double x = 0;
Double y = 0;
bool msg = false;
TryGetInputParam("in_point",out mypoint);
if(mypoint.Count > 0)
{
msg = true;
foreach(var item in mypoint.Values)
{
if(item.y > y)
{
y = item.y;
x = item.x;
}
}
}
SetOutputParam("out_x",x);
SetOutputParam("out_y",y);
SetOutputParam("out_msg",msg);
三、求两点的中点(可用内置程序块)
- start_point:起始点
- end_point:终点
- center_point:中点

程序块
cs
复制代码
Point2Df my_start_point;
Point2Df my_end_point;
Point2Df my_out_point;
TryGetInputParam("start_point",out my_start_point);
TryGetInputParam("end_point",out my_end_point);
var start_x = my_start_point.x;
var start_y = my_start_point.y;
var end_x = my_end_point.x;
var end_y = my_end_point.y;
var mid_x = (my_start_point.x + my_end_point.x) / 2.0;
var mid_y = (my_start_point.y + my_end_point.y) / 2.0;
my_out_point = new Point2Df(mid_x,mid_y);
SetOutputParam("center_point",my_out_point);