华睿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);
相关推荐
三品吉他手会点灯2 小时前
C语言学习笔记 - 20.C编程预备计算机专业知识 - 变量为什么必须的初始化【重点】
c语言·笔记·学习
kobesdu2 小时前
【ROS2实战笔记-12】rosshow:终端里的盲文可视化与无头机器人的现场调试
笔记·机器人·ros·移动机器人
sakiko_2 小时前
UIKit学习笔记1-创建项目(使用UIKit)、使用组件
笔记·学习
智者知已应修善业3 小时前
【51单片机中的打飞机设计】2023-8-25
c++·经验分享·笔记·算法·51单片机
czhc11400756633 小时前
C# 428 线程、异步
开发语言·c#
唐青枫4 小时前
C#.NET ThreadLocal 深入解析:线程独享数据、性能收益与实战边界
c#·.net
智者知已应修善业5 小时前
【51单片机按键调节占空比3位数码管显示】2023-8-24
c++·经验分享·笔记·算法·51单片机
JasmineX-15 小时前
数据结构(笔记)——双向链表
c语言·数据结构·笔记·链表
程序猿乐锅7 小时前
【Tilas|第三篇】多表SQL语句
数据库·经验分享·笔记·学习·mysql
AOwhisky7 小时前
Kubernetes 学习笔记:集群管理、命名空间与 Pod 基础
linux·运维·笔记·学习·云原生·kubernetes