华睿MVP:C#脚本的应用一

一、根据匹配模板输出模板中心数组

  • 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);
相关推荐
张同学034 小时前
220V 转 12V/5V 电源输入电路设计笔记
笔记·嵌入式硬件·硬件工程
深蓝海拓4 小时前
S7-1500PLC学习笔记:MOVE_BLK、MOVE_BLK_VARIANT、BLKMOV的区别
笔记·学习·plc
雨浓YN5 小时前
OPC UA 通讯开发笔记 - 基于本地dll文件
windows·笔记
深蓝海拓6 小时前
S7-1500学习笔记:用户自定义数据类型(UDT)
笔记·学习·plc
罗罗攀6 小时前
PyTorch学习笔记|神经网络的损失函数
人工智能·pytorch·笔记·神经网络·学习
tq10868 小时前
价值:社会对劳动所产生的效用增量形成的局部共识
笔记
A923A8 小时前
【小兔鲜电商前台 | 项目笔记】第八天
前端·vue.js·笔记·项目·小兔鲜
猹叉叉(学习版)9 小时前
【系统分析师_知识点整理】 15.数学计算与知识产权
笔记·软考·知识产权·系统分析师
風清掦11 小时前
【江科大STM32学习笔记-10】I2C通信协议 - 10.1 软件I2C读写MPU6050
笔记·stm32·单片机·嵌入式硬件·物联网·学习
MwEUwQ3Gx12 小时前
常见Linux权限提升笔记
linux·运维·笔记