华睿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);
相关推荐
hez201010 小时前
.NET 11 Runtime Async 详解
c#·.net·.net core
猿长大人11 小时前
C# | Serilog 新手入门
开发语言·c#·.net·log
今儿敲了吗12 小时前
CO——CPU
笔记
今儿敲了吗12 小时前
Python ——第三方包
笔记·python
在世修行13 小时前
从零打造 C# 工业视觉检测系统(七):串口通信 SerialPort 封装与开发
开发语言·c#·modbus rtu·rs232/rs485
吃着火锅x唱着歌13 小时前
Effective C++ 学习笔记 条款40 明智而审慎地使用多重继承
c++·笔记·学习
落知秋13 小时前
RUST中的trait是什么?
笔记·rust
xian_wwq14 小时前
【学习笔记】Prompt Engineering 没死,只是它不再够用了-2/16
笔记·学习·prompt
210Brian15 小时前
STM32学习笔记(五)EXTI外部中断(上)
笔记·stm32·学习
xian_wwq16 小时前
【学习笔记】RAG 只是 Context Engineering 的一小块-5/16
笔记·学习·rag