Cross Gauge

1 개요

설정한 사각형에 대해서 십자가 도형을 검출하는 측정 알고리즘입니다.

2 알고리즘 상세 설명

Result Image
Result Image1 Result Image2 Result Image3
Fig. Cross Gauge

측정 사각형을 따라 이미지 변화량이 큰 지점을 검출합니다. 측정할 이미지 변화량을 설정할 수 있으며, 측정 범위 등을 설정하여 동작합니다.
밝기 변화 방향이나 경계점을 선택하는 기준에 따라 측정 결과가 다르게 얻을 수 있습니다.
또한 최소 진폭을 설정하여 이미지에서 노이즈라고 판단되는 범위를 무시할 수 있습니다.
결과는 각 지점들의 위치 값으로 계산하여 각 선을 검출 후 십자가를 검출하여 중심 좌표를 반환합니다.

3 파라미터 설정 및 사용 방법

4 예제 코드

CCrossGauge crossGauge;
//////////////////////////////////
// 공통 파라미터 설정
//////////////////////////////////

//////////////////////////////////
// 추가 옵션 설정
//////////////////////////////////

// 측정할 위치 설정
CFLRect<double> measurementCross(100., 100., 200., 200.);
crossGauge.SetMeasurementRegion(measurementCross, 30);

crossGauge.Execute();

// 측정 결과 꼭지점
CFLPoint<double> resultCross;
crossGauge.GetMeasuredObject(resultCross);
CCrossGauge crossGauge = new CCrossGauge();
//////////////////////////////////
// 공통 파라미터 설정
//////////////////////////////////

//////////////////////////////////
// 추가 옵션 설정
//////////////////////////////////

// 측정할 위치 설정
CFLRect<double> measurementCross = new CFLRect<double>(100.0, 100.0, 200.0, 200.0);
crossGauge.SetMeasurementRegion(measurementCross, 30);

crossGauge.Execute();

// 측정 결과 꼭지점
CFLPoint<double> resultCross = new CFLPoint<double>();
crossGauge.GetMeasuredObject(ref resultCross);
crossGauge = CCrossGauge()
######################
# 공통 파라미터 설정
######################

######################
# 추가 옵션 설정
######################

# 측정할 위치 설정
measurementCross = CFLRect[Double](100.0, 100.0, 200.0, 200.0)
crossGauge.SetMeasurementRegion(measurementCross, 30)

crossGauge.Execute()

# 측정 결과 꼭지점
resultCross = CFLPoint[Double]()
crossGauge.GetMeasuredObject(resultCross)

5 관련 알고리즘

CPointGauge, CLineleGauge, CCircleGauge, CEllipseGauge, CRectangleGauge, CCrossGauge