华睿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);
相关推荐
hez201012 小时前
在 .NET 上构建超大托管数组
c#·.net·.net core·gc·clr
RainCity2 天前
Java Swing 自定义组件库分享(十二)
java·笔记·后端
雨落倾城夏未凉6 天前
第四章c#方法-参数数组和可选参数(16)
后端·c#
唐青枫7 天前
线程不是越多越快:C#.NET Thread 生命周期、同步与后台工作线程实战
c#·.net
唐青枫8 天前
别只会反射:C#.NET Emit 动态生成代码实战详解
c#·.net
咕白m6258 天前
.NET 环境下 Word 超链接批量提取方案
c#·.net
用户91721561902118 天前
C# 通信协议增量解析:用状态机处理半包和粘包
c#
小码编匠9 天前
C# 工控上位机必备:数据转换工具类与十个核心模块
后端·c#·.net
LinXunFeng9 天前
Obsidian - 使用 Share Note 分享笔记并自部署
前端·笔记·github
唐青枫11 天前
别再乱用 StartNew:C#.NET TaskFactory 任务调度实战详解
c#·.net