할콘 1D 측정 솔루션 가이드 요약
1D 측정은 주로 직선이나 호를 따라 물체의 치수나 각도를 측정하는 데 사용됩니다. 할콘은 고속으로 고정밀의 1D 측정을 수행할 수 있는 도구를 제공합니다. 1D 측정은 주로 거리와 각도를 측정하는 데 활용됩니다.
1D 측정의 기본 흐름
1D 측정을 위해서는 먼저 measure object를 생성해야 합니다. 이 객체는 측정할 영역을 정의하며, 주로 직사각형이나 원호 형태로 정의합니다.
1D 측정의 기본 단계
- 측정 객체 생성:
gen_measure_rectangle2
orgen_measure_arc
를 사용하여 측정할 영역을 설정합니다. - 측정 실행:
measure_pos
,measure_pairs
등 다양한 함수로 물체의 edge나 거리 등을 측정합니다. - 결과 확인: 측정된 값은 물체의 크기, 위치, edge 간의 거리 등으로 반환됩니다.
주요 측정 방법
1. Edge 위치 측정 (measure_pos
)
- 목적: 이미지에서 특정 edge의 위치를 찾고, 해당 위치를 정확히 측정합니다.
- 사용 예시: IC의 리드 길이 측정.
2. Edge 쌍의 거리 측정 (measure_pairs
)
- 목적: 두 개의 edges를 찾고, 그들 사이의 거리를 측정합니다.
- 사용 예시: 스위치 핀의 너비 및 핀 간 거리 측정.
3. 특정 그레이 값에 해당하는 점 측정 (measure_thresh
)
- 목적: 특정 그레이 값에 해당하는 점의 위치를 찾습니다.
- 사용 예시: 균일한 조명에서 특정 밝기의 물체의 가장자리 측정.
측정 객체 생성
측정 객체는 직사각형 또는 원호 형태로 생성할 수 있습니다.
직사각형 ROI 생성
1 | gen_measure_rectangle2 (Row, Column, Phi, Length1, Length2, Width, Height, Interpolation, MeasureHandle) |
Row
,Column
: ROI의 중심 좌표Phi
: 회전 각도Length1
,Length2
: 두 축의 길이Width
,Height
: 측정할 이미지 크기
원호 ROI 생성
1 | gen_measure_arc (CenterRow, CenterCol, Radius, AngleStart, AngleExtent, AnnulusRadius, Width, Height, Interpolation, MeasureHandle) |
CenterRow
,CenterCol
: 원호의 중심Radius
: 원호의 반지름AngleStart
,AngleExtent
: 원호의 시작 각도와 각도 범위.
1D Edge 추출 과정 상세 설명
1D edge 추출 과정 흐름도
- 프로파일 라인 생성: ROI에 따라 수평 또는 수직 방향으로 프로파일 라인을 생성합니다.
- 그레이 값 프로파일 계산: 각 프로파일 라인에서 평균 그레이 값 계산.
- 프로파일 미분 계산: 프로파일의 첫 번째 미분을 계산하여 edge 후보를 찾습니다.
- 임계값 처리: 미분 값이 임계값을 초과하는 경우에만 edge로 확정합니다.
- 서브픽셀 정확도 계산: edge 위치를 서브픽셀 정확도로 결정합니다.
할콘의 1D 측정 기능에서 가장 중요한 부분 중 하나는 Edge Extraction 입니다. 이 과정은 HALCON이 이미지에서 원하는 대상의 경계를 정확하게 찾을 수 있도록 해주며, 정확한 측정을 위한 기초 작업이 됩니다.
1D edge 추출의 주요 개념
1D edge 추출은 기본적으로 이미지의 프로파일 을 사용하여 edge를 찾는 방식입니다. 이 프로파일은 선택된 측정 영역(ROI)에서 수평 또는 수직 방향으로 추출된 평균 밝기 값들의 집합입니다. HALCON은 이 프로파일을 통해 edge를 정확히 찾습니다.
1. 프로파일 라인 생성
1D edge 추출의 첫 번째 단계는 profile line 을 생성하는 것입니다. 프로파일 라인은 측정하려는 대상의 edge를 따라 일정 간격으로 수직 또는 수평으로 투영된 여러 선들로 구성됩니다. 이 투영선들은 측정하려는 ROI의 너비만큼 펼쳐지며, 그 너비는 추후 edge 추출의 정확도에 영향을 미칩니다.
- 사각형 ROI: 수평 또는 수직 방향으로 투영선을 배치합니다.
- 원형 ROI: 원호를 따라 투영선을 배치합니다.
2. 그레이 값 profile 계산
프로파일 라인을 생성한 후, HALCON은 각 프로파일 라인에서 그레이 값의 평균값을 계산 합니다. 이 평균값은 해당 프로파일 라인을 따라 얻을 수 있는 픽셀의 그레이 값 평균을 의미합니다.
이 평균값을 통해 생성된 프로파일은 그래픽적으로 한 줄로 표현됩니다. 프로파일은 측정 대상의 밝기 변화를 기반으로 하므로, 물체의 가장자리에서 급격한 변화가 발생하는 위치를 찾을 수 있습니다.
3. 그레이 값 프로파일의 미분 계산
프로파일의 첫 번째 미분을 계산하여 edge 후보를 찾습니다. 첫 번째 미분은 프로파일에서 밝기 변화가 급격하게 일어나는 위치를 나타냅니다. 이러한 위치는 이미지에서 물체의 경계가 되는 곳입니다. 미분의 크기가 클수록, 해당 위치는 강한 edge로 간주됩니다.
- 스무딩(Smoothing): 프로파일의 미분을 계산하기 전에, 가우시안 필터 등을 사용하여 프로파일을 부드럽게 할 수 있습니다. 이렇게 하면 잡음을 줄이고, 더 정확한 edge 추출이 가능합니다.
4. edge 후보 선택
첫 번째 미분을 통해 얻은 edge 후보들 은 실제 edge로 확정되기 위해 추가적인 처리를 거칩니다. 이때 후보의 미분 값이 Threshold 보다 클 경우에만 edge로 선택됩니다. 즉, 임계값은 실제 edge를 선택하는 기준이 됩니다.
- Threshold: 미분 값이 특정 값보다 커야만 edge로 간주됩니다. 이 임계값을 설정함으로써 불필요한 잡음을 제거하고, 실제 edge만을 정확하게 선택할 수 있습니다.
5. edge의 Subpixel Accuracy
edge의 위치는 subpixel 정확도 로 결정됩니다. HALCON은 서브픽셀 수준의 edge 위치를 계산 하기 위해 미분 값을 기반으로 edge 후보의 정확한 위치를 계산합니다. 이는 픽셀 단위보다 더 세밀한 위치를 얻을 수 있도록 해줍니다.
1D edge 추출의 중요성
1D edge 추출은 HALCON에서 정확한 측정을 위한 기초 작업 입니다. 이 과정이 정확하게 이루어져야만, 이후 거리, 각도, 너비 등 을 정확하게 측정할 수 있습니다. 또한, 스무딩 과 임계값 설정 을 적절하게 조정하면 다양한 환경에서도 안정적인 측정을 할 수 있습니다.
1D edge 추출을 활용한 예시
예시 1: 스위치 핀 측정
스위치의 핀 간 간격과 핀의 너비를 측정하는 작업에서는 1D edge 추출을 사용하여 핀의 경계를 정확히 찾아냅니다. 이때, 측정 객체는 직사각형 ROI로 설정되고, 각 핀의 경계는 첫 번째 미분을 통해 찾아집니다. 이 과정에서 임계값과 서브픽셀 정확도를 활용하여 더욱 정밀한 측정을 수행합니다.
예시 2: IC 리드 길이 측정
IC의 리드 길이를 측정할 때는 리드가 위치한 ROI를 직사각형 형태로 설정하고, 해당 영역에서 edge를 추출하여 리드의 길이를 계산합니다. 이때도 1D edge 추출 과정이 중요한 역할을 합니다.
결론
HALCON에서 제공하는 1D edge 추출 과정은 매우 정밀하며, 다양한 측정 작업을 수행할 때 핵심적인 역할을 합니다. 이 과정은 프로파일을 계산하고, 미분을 통해 edge를 찾으며, 서브픽셀 정확도로 edge 위치를 결정하는 방법을 사용하여 고정밀 측정을 가능하게 만듭니다. 적절한 임계값 설정과 스무딩 기법을 활용하면, 다양한 환경에서도 정확한 측정 결과를 얻을 수 있습니다.