Circle Gauge
1 개요
설정한 원에 대해서 이미지 변동값이 큰 지점들로 측정 도형과 유사한 원을 검출하는 측정 알고리즘입니다.
2 알고리즘 상세 설명
Result Image | |
---|---|
![]() |
![]() |
Fig. Circle Gauge
측정 원을 따라 이미지 변화량이 큰 지점을 검출합니다. 측정할 이미지 변화량을 설정할 수 있으며, 측정 범위 등을 설정하여 동작합니다.밝기 변화 방향이나 경계점을 선택하는 기준에 따라 측정 결과가 다르게 얻을 수 있습니다.
또한 최소 진폭을 설정하여 이미지에서 노이즈라고 판단되는 범위를 무시할 수 있습니다.
결과는 각 지점들의 위치 값으로 계산하여 측정 도형과 유사한 원을 검출합니다.
3 파라미터 설정 및 사용 방법
- 세팅 함수
SetMeasurementRegion
- 측정할 위치를 설정하는 함수
- 설정 타입
CFLPoint
- 측정 원의 중심점입니다.
- 측정 범위와 원의 지름을 설정합니다.
CFLCircle
- 1개의 Circle과 범위를 지정하여 측정 영역을 설정합니다.
- 범위는 측정 원을 기준으로 내/외부 방향의 범위를 설정하여 탐색합니다.
SetTransitionType
- 밝기 변화 방향을 설정합니다.
SetTransitionChoice
- 측정 기준을 선택합니다.
SetThreshold
- 검출 변화량 임계값을 설정합니다.
SetMinimumAmplitude
- 최소 진폭을 설정합니다.
SetThickness
- 측정 선의 두께를 설정합니다
SetSamplingStep
- 표본 추출단위를 설정합니다.
SetOutliersThreshold
- 이상치 범위 계수를 설정합니다.
SetOutliersThresholdCount
- 이상치 처리 횟수를 설정합니다.
EnableOptimalFitting
- 기본값은
true
이며, 밝기 변화 범위에 해당하는 실제 위치를 추정하여 반환합니다. false
로 설정 시 밝기 변화 시작점을 반환합니다.
- 기본값은
- 결과 함수
GetMeasuredObject
- 측정 결과 Circle을 반환합니다.
4 예제 코드
CCircleGauge circleGauge;
//////////////////////////////////
// 공통 파라미터 설정
//////////////////////////////////
//////////////////////////////////
// 추가 옵션 설정
//////////////////////////////////
// 측정할 위치 설정
double radius = 200;
CFLCircle<double> measurementCircle(100., 100., radius);
circleGauge.SetMeasurementRegion(measurementCircle, 30);
circleGauge.Execute();
// 측정 결과 지점
CFLCircle<double> resultCircle;
circleGauge.GetMeasuredObject(resultCircle);
5 관련 알고리즘
CPointGauge
,
CLineGauge
,
CEllipseGauge
,
CRectangleGauge
,
CCornerGauge
,
CCrossGauge