46 lines
1.8 KiB
C#
46 lines
1.8 KiB
C#
using System.Collections.Generic;
|
|
using System.Linq;
|
|
|
|
namespace VisionCommon {
|
|
/// <summary>
|
|
/// 센터로부터 각 패턴의 정위치까지 떨어진 거리 파라미터
|
|
/// </summary>
|
|
public class RefDistParam {
|
|
/// <summary>
|
|
/// 센터로부터 각 패턴의 정위치까지 떨어진 거리들
|
|
/// <para>
|
|
/// 이미지 좌표상으로 좌상단부터 우하단까지 0 ~ n-1 인덱스이며, RefOffsets가 null이면 센터를 기준으로 얼라인
|
|
/// </para>
|
|
/// </summary>
|
|
public Dictionary<int, RefDist> RefDists { get; set; }
|
|
/// <summary>찾은 패턴의 위치와 패턴의 정위치 간에 허용 거리. (Default : 3 mm)</summary>
|
|
public int DistanceTolerance { get; set; } = 3;
|
|
|
|
/// <summary>
|
|
/// 생성자
|
|
/// </summary>
|
|
/// <param name="refDists">센터로부터 각 패턴의 정위치까지 떨어진 거리들</param>
|
|
/// <param name="distanceTolerance">찾은 패턴의 위치와 패턴의 정위치 간에 허용 거리</param>
|
|
public RefDistParam(Dictionary<int, RefDist> refDists, int distanceTolerance = 3) {
|
|
this.RefDists = refDists?.ToDictionary(obj => obj.Key, obj => obj.Value);
|
|
this.DistanceTolerance = distanceTolerance;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 센터로부터 각 패턴의 정위치까지 떨어진 거리
|
|
/// </summary>
|
|
public class RefDist {
|
|
/// <summary> 센터로부터 패턴 정위치까지 거리X </summary>
|
|
public double DistX { get; set; }
|
|
/// <summary> 센터로부터 패턴 정위치까지 거리Y </summary>
|
|
public double DistY { get; set; }
|
|
|
|
public RefDist() { }
|
|
|
|
public RefDist(double distX, double distY) {
|
|
this.DistX = distX;
|
|
this.DistY = distY;
|
|
}
|
|
}
|
|
} |