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