# CalibrateGrid

CalibrateGrid는 사용자가 구성한 보정 눈금 패턴을 활용하여 픽셀과 실제 좌표계 사이에서 변환하는 2D 변환을 생성합니다. CalibrateGrid는 선형, 비선형, 렌즈 왜곡도 고려합니다.

## CalibrateGrid 소개

CalibrateGrid는 바둑판 보정 눈금 패턴의 꼭짓점으로 식별되는 점 집합 간의 2D 변환을 계산합니다. CalibrateGrid는 분석 중에 눈금 셀이 교차하는 픽셀 위치를 찾은 다음 다시 눈금 패턴의 모델에 매핑합니다.

또한 CalibrateGrid는 보정 점 집합에 대한 참조와 렌즈 왜곡 모델을 사용하여 이미지 좌표와 실제 좌표 간의 변환 매핑을 계산합니다.

참고 : 왜곡되지 않은 이미지를 보거나 해당 이미지에서 비전 도구를 사용하려면 TransformImage 함수를 사용합니다.

CalibrateGrid를 사용하면 다음을 구성할 수 있습니다.

- 사용할 보정 눈금 패턴의 유형.
- 보정 눈금 패턴의 간격.
- 실제 물리적 측정 단위의 유형.

(선택 사항) 보정 플레이트 눈금을 인쇄할 수 있습니다. 자세한 내용은 눈금 인쇄 대화 상자를 사용한 보정 패턴 인쇄 항목을 참조하십시오. 이미지를 촬상하면 CalibrateGrid는 가능한 한 많은 형상 점을 자동으로 식별합니다. CalibrateGrid는 보정 버튼을 누르는 즉시 보정 계산을 시작하고 형상 점의 간격에 따라 보정 점을 보고합니다.

보정이 수행되면 CalibrateGrid 셀에 보정 데이터가 저장됩니다. 이렇게 하면 한 작업에서 CalibrateGrid 함수를 복사하여 다른 작업에 붙여넣거나 셀 내보내기/셀 가져오기를 사용하여 외부 파일로 내보내고 가져올 수 있습니다. 필요한 경우 작업마다 다른 보정을 수행할 수 있으며 하나의 작업에서 다수의 보정을 수행할 수도 있습니다. Calibrate 함수를 인수로 사용하는 다른 함수는 CalibrateGrid 데이터 구조를 참조할 수 있습니다.

참고 : Calibrate 함수를 사용할 때는 물리적 설정 및 광학적 설정(렌즈, 센서, 센서와 촬상되는 장면 간의 물리적 관계)이 보정 단계와 런타임 동작에서 동일해야 합니다. 이러한 항목 중 하나라도 변경되면 시스템을 다시 보정해야 합니다. 런타임 이미지의 보정과 처리에 동일한 센서와 렌즈를 사용하는 것이 좋습니다. 또한 센서와 렌즈는 원래의 설정 및 교정 설정을 유지해야 합니다. 예를 들어, 해상도를 변경하거나 센서를 움직이게 되면 픽셀을 실제 좌표로 매핑하는 계산된 2D변환이 무효화됩니다.

## CalibrateGrid 입력

매개 변수 | 설명
--- | ---
이미지 | 이 인수는 유효한 이미지 데이터 구조를 포함하는 스프레드시트 셀을 참조해야 합니다. 기본적으로 셀은 AcquireImage 함수에 의해 반환되는 Image 데이터 구조를 포함하는 셀인 A0을 참조합니다.
Fixture | Fixture 입력 또는 비전 도구 함수의 결과 이미지 좌표계를 기준으로 관심 영역(ROI)을 정의합니다. ROI를 Fixture 기준으로 설정하면 Fixture가 회전하거나 변환된 경우에도 ROI가 Fixture 기준으로 회전하거나 변환됩니다. 기본 설정은 이미지의 왼쪽 상단 모서리인 (0, 0, 0)입니다.
X (기본값 = 0) | 이미지 좌표계에서의 X 오프셋.
Y (기본값 = 0) | 이미지 좌표계에서의 Y 오프셋.
세타 (기본값 = 0) | 이미지 좌표계 내에서 이미지 X축으로부터의 회전(+/-360도 시계 방향).
영역 | 관심 영역(ROI)이라고도 하며, 이미지 중 분석 대상이 되는 영역을 지정합니다. 영역 매개 변수를 두 번 클릭하면 변환하고 회전할 수 있는 대화형 그래픽 모드를 만듭니다. 이 매개 변수를 선택하고 속성 시트의 작업 편집 도구 모음에서 영역 최대화 버튼을 누르면 영역이 자동으로 확대되어 전체 이미지가 포함됩니다.
X | Fixture 좌표에서 원점으로부터의 x 오프셋.
Y | Fixture 좌표에서 원점으로부터의 y 오프셋.
폭 | 영역의 x 축 방향 크기.
높이 | 영역의 y 축을 방향 크기.
눈금 유형 | 기준 있는 바둑판, 기준 없는 바둑판, 기준 있는 점, 기준 없는 점 등 보정을 구성하는 데 이용할 보정 패턴 유형을 지정합니다.
기준 있는 바둑판 | 형상의 위치를 결정하는 데 타일 꼭지점(타일 4개의 모서리가 만나는 점)을 사용합니다. 센서가 표면에 대해 최대 45도 수직인 경우 꼭지점을 정확하게 찾을 수 있습니다. 기준 마커를 제공하여 실제 공간에서 눈금의 원점을 결정하고 눈금의 방향을 식별합니다. 참고 : 바둑판의 체크는 폭이 15픽셀 이상이어야 합니다.
기준 없는 바둑판 | 형상의 위치를 결정하는 데 타일 꼭지점(타일 4개의 모서리가 만나는 점)을 사용합니다. 센서가 표면에 대해 최대 45도 수직인 경우 꼭지점을 정확하게 찾을 수 있습니다. 원점은 눈금 원점을 사용하여 설정해야 합니다. 참고 : 바둑판의 체크는 폭이 15픽셀 이상이어야 합니다.
눈금 원점 | 눈금의 원점을 지정합니다.
중심 | 기준 있는 바둑판을 선택하면 CalibrateGrid는 자동으로 영역의 중심에 가장 가까운 원점을 결정합니다. 기준 없는 바둑판을 선택한 경우 중심 버튼의 확인란을 체크하지 않습니다. 확인란에 체크하지 않으면 눈금 원점을 수동으로 결정할 수 있습니다. 눈금 원점을 수동으로 지정하면 원점은 지정된 점에 가장 가까운 꼭지점이 됩니다.
X | 원점의 X 위치를 픽셀 좌표로 지정합니다. 기준 있는 바둑판을 사용하면 X축이 자동으로 결정됩니다. 기준 없는 바둑판을 사용하는 경우 X축은 눈금의 오른쪽으로 증가합니다.
Y | 원점의 Y 위치를 픽셀 좌표로 지정합니다. 기준 있는 바둑판을 사용하면 Y축이 자동으로 결정됩니다. 기준 없는 바둑판을 사용하는 경우 Y축은 눈금의 아래로 증가합니다.
참고 : 눈금 원점 매개 변수는 눈금 유형을 기준 없는 바둑판으로 선택한 경우에만 편집할 수 있습니다. 기준 없는 바둑판을 선택한 경우 원점이 될 점 중 하나를 수동으로 선택할 수 있습니다.
Calibrate | CalibrateGrid 이벤트 트리거.
눈금 공백 단위 | 보정의 기반이 되는 실제 측정 단위를 지정합니다. 기본 단위는 밀리미터입니다. 다음 단위 중에서 선택할 수 있습니다. 미크론 밀리미터 센티미터 인치
X 눈금 공백 | X축에 따른 보정 눈금 패턴 간격의 실제 측정값입니다.
Y 눈금 공백 | Y축에 따른 보정 눈금 패턴 간격의 실제 측정값입니다.
각도 범위 | 눈금을 검색하는 데 사용되는 시작 및 종료 각도 범위.
각도 시작 | 눈금 수평 축과 카메라 수평 축 사이의 가능한 최소 각도 (최소 = -180, 최대 = 180, 기본값 = -180).
각도 종료 | 눈금 수평 축과 카메라 수평 축 사이의 가능한 최대 각도 (최소 = -180, 최대 = 180, 기본값 = +180).
팁 : 눈금과 카메라 사이의 상대 방향이 잘 알려진 경우 각도 범위를 제한하면 점 추출 속도가 빨라질 수 있습니다.
찾기 허용 오차 | 찾기 허용 오차 매개 변수를 지정하면 눈금을 검색하는 데 사용되는 각도 범위를 제한합니다(기본값 = 0, 선택되지 않음).
렌즈 왜곡 | 실제 좌표를 이미지 좌표로 매핑하는 데 사용할 선형 또는 비선형 렌즈 왜곡 모델.
0 = 렌즈 왜곡 없음 | 원근 왜곡만 고려합니다.
1 = 중앙 방사형 왜곡 | 이미지 중앙에서 시작되는 약간의 방사형 왜곡을 고려합니다.
2 = 중심을 벗어난 방사형 왜곡 | 이미지의 중심이 아닌 다른 영역에서 발생하는 방사형 왜곡을 고려합니다.
3 = 투사 왜곡 | 어안 및 광각 렌즈로 인한 왜곡을 고려합니다.
4 = 넓은 왜곡 | 경미한 왜곡부터 큰 왜곡까지의 렌즈 왜곡을 고려합니다.
타임아웃 | CalibrateGrid 함수가 최대로 실행되는 시간을 밀리초 단위로 지정합니다. 타임아웃 시간이 지나면 함수 실행이 중지됩니다. 최소값은 0이고 최대값은 9999999입니다. 기본값은 120000입니다. 참고 : 타임아웃은 이 시간이 지나면 프로세스가 종료되어 과도하게 실행되지 않도록 하는 안전 장치로 사용됩니다. 지정된 시간을 지나도 몇 초 동안 실행될 수 있으므로 타임아웃은 정확하지 않습니다.
표시 | 이미지에서 CalibrateGrid 그래픽 오버레이를 표시하는 모드를 지정합니다.
0 = 모두 숨기기(기본값) | CalibrateGrid 함수를 포함하는 셀이 스프레드시트에 강조 표시된 경우가 아니면 모든 그래픽이 표시되지 않습니다.
1 = 결과 그래픽만 | 추출된 점 위치를 입력 이미지에 오버레이하여 표시합니다.
2 = 입력 및 결과 그래픽 | 추출된 점 위치 및 검색 영역을 표시합니다.

## CalibrateGrid 출력

반환 | 두 좌표계 간의 변환을 정의하는 계수가 포함된 Calib 데이터 구조.

기준 있는 바둑판의 경우 CalibrateGrid 작업 흐름:

1. CalibrateGrid 도구를 스프레드시트에 끌어 놓습니다.

   속성 시트가 표시됩니다.

2. 영역 매개 변수를 두 번 클릭하여 관심 영역(ROI)을 지정합니다. ROI의 빨간색 선을 끌어 영역을 선택합니다. 완료되면 Enter 키를 누르거나 변경 내용 수락을 클릭합니다.

3. 눈금 유형을 지정합니다. 이 경우 기준 있는 바둑판을 선택합니다.
4. 실제 좌표의 기반이 되는 실제 측정 단위인 눈금 단위를 지정합니다.

5. 보정을 클릭해 보정을 트리거합니다.

   보정이 완료되면 보정된 점들이 ROI 내에 표시됩니다.

6. 확인을 클릭합니다. Calib 데이터 구조를 수신합니다.

기준 없는 바둑판의 경우 CalibrateGrid 작업 흐름:

1. CalibrateGrid 도구를 스프레드시트에 끌어 놓습니다.

   속성 시트가 표시됩니다.

2. 영역 매개 변수를 두 번 클릭하여 관심 영역(ROI)을 지정합니다. ROI의 빨간색 선을 끌어 영역을 선택합니다. 완료되면 Enter 키를 누르거나 변경 내용 수락을 클릭합니다.

3. 눈금 유형을 지정합니다. 이 경우 기준 없는 바둑판을 선택합니다.

4. 눈금 원점을 수동으로 결정할지 여부를 결정합니다.

   - 원점을 수동으로 결정하지 않으려면 중심확인란의 체크를 그대로 둡니다.

   - 수동으로 원점을 결정하려면 중심 확인란의 체크를 지웁니다. X 버튼을 두 번 클릭하고 원점을 원하는 곳으로 끌어옵니다. 완료되면 Enter 키를 누릅니다.

5. 보정을 클릭해 보정을 트리거합니다.

   보정이 완료되면 보정된 점들이 ROI 내에 표시됩니다.

6. 확인을 클릭합니다. Calib 데이터 구조를 수신합니다.