- 在Halcon中,distance_pp 算子用于计算两个点之间的直线距离。这个距离是由两个点的坐标差计算出来的欧几里得距离。
一、任务描述
- 我们可以利用简单的数学公式来实现这一功能。
1、欧几里得距离公式:
- 给定两个点
,它们之间的直线距离(欧几里得距离)公式为:
二、程序
using OpenCvSharp;
using System;
namespace OpenCVSharpExample
{
public class DistancePP
{
/// <summary>
/// 计算两个点之间的直线距离(欧几里得距离)
/// </summary>
/// <param name="point1">第一个点</param>
/// <param name="point2">第二个点</param>
/// <returns>两个点之间的直线距离</returns>
public static double CalculateDistance(Point point1, Point point2)
{
// 使用欧几里得距离公式计算两个点之间的距离
double dx = point2.X - point1.X;
double dy = point2.Y - point1.Y;
// 计算并返回距离
return Math.Sqrt(dx * dx + dy * dy);
}
public static void Main()
{
// 创建两个点
Point point1 = new Point(10, 20);
Point point2 = new Point(30, 40);
// 计算两个点之间的直线距离
double distance = CalculateDistance(point1, point2);
// 输出结果
Console.WriteLine($"点1({point1.X}, {point1.Y})和点2({point2.X}, {point2.Y})之间的直线距离是: {distance}");
}
}
}
三、代码解析
CalculateDistance 方法:
- 输入参数:
point1:第一个点,Point 类型,表示坐标 (x1, y1)。
point2:第二个点,Point 类型,表示坐标 (x2, y2)。 - 该函数使用欧几里得距离公式,计算两个点之间的直线距离,并返回该距离。
四、资料
技能拾荒者《4-OpenCVSharp 中实现 Halcon 的 distance_pp 算子(计算两个点之间的直线距离)》
https://blog.csdn.net/weixin_45590420/article/details/143873756