# 보정 이미지에 대한 작업

Deep Learning 도구는 픽셀 값을 대상으로 작동하며 픽셀 값의 결과를 반환합니다. VisionPro 도구는 미리 정의되었거나 임의의 좌표 공간을 대상으로 작동하며 이미지의 선택된 좌표 공간에서 결과를 반환합니다. 그러므로, PatMax로 보정된 이미지를 고정화할 때는, PatMax 도구의 결과가 픽셀로 표시되어야 하고, Deep Learning 도구의 결과가 보정된 좌표 공간으로 표시되어야 합니다.

## Red 분석 도구를 위한 fixture 보정 이미지에 PMAlign 도구 이용

PMAlign 도구가 생성한 pose는 픽셀로 표시되어야 Red 분석 도구가 정확하게 사용할 수 있습니다. PMAlign 도구는 패턴 공간의 점을 선택된 공간의 점에 매핑하는 pose를 반환합니다. 픽셀 공간이 선택되면(또는 루트 공간이 선택되고 루트 공간 = 픽셀 공간인 경우), pose는 이미 픽셀로 표시되어 있습니다.

다음의 경우에는, pose가 픽셀로 표시되지 않습니다.

- input 이미지가 VisionPro 도구에 의해 서브샘플링된 경우:
  - Selected space: Root ("@")
  - Root space != Pixel space
- input 이미지가 보정된 경우:
  - Selected space: Calibrated space

다행히, 선택된 공간이 보정 공간인 이미지도, 표준적인 경우에 대해 논의한 절차로 프로세싱할 수 있습니다.

Tip:

###### API 예

    ICogTransform2D fromSelectedToPixelTransform = cogImage.GetTransform("#", ".");

    CogTransform2DLinear fromPatternToPixelLinearTransform = fromSelectedToPixelTransform.ComposeBase(<Pose>).LinearTransform(0, 0);

이미지가 보정되었지만, 이제 "fromPatternToPixelLinearTransform" 변환은 AddView로 넘겨져 기본 뷰를 고정화시킵니다.

이를 주의하지 않으면, PMAlign 도구는 보정 공간에서만 유효한 pose를 생성하여, Red 분석 도구에서 위치를 크게 벗어난 뷰를 만들게 됩니다. 하지만, PMAlign 도구 pose가 픽셀 공간으로 전환되면, Red 분석 도구로 이미지와 pose를 이용하기 위한 절차는 변하지 않습니다.

## 보정 공간에서 Deep Learning 마킹에 대한 작업

Deep Learning 마킹은 결과를 픽셀 좌표로 제시합니다. 구체적으로, 결과가 발견된 보기의 원점에 대한 상대 픽셀입니다.

단일 뷰와 단일 (정사각형) 결함이 있는 마킹을 반환하는 Red 분석 도구를 생각합시다.

- RedMarking
  - RedView
    - Region
      - (0, 0)
      - (1, 0)
      - (1, 1)
      - (0, 1)

이 이미지가 보정되었는지 여부와 무관하게 이 영역의 넓이는 1픽셀입니다. 이 래퍼를 사용하면, 마킹을, 보정된 결과를 갖는 IMarking의 새로운 실행으로 전환할 수 있습니다. 전환 과정에는 마킹과 보정 변환(CogTransform2DLinear로서)이 필요합니다.

위의 예에서 1픽셀의 길이가 5인치로 보정되었다고 합시다. 보정 버전은 다음과 같습니다.

- CalibratedRedMarking
  - CalibratedRedView
    - CalibratedRegion
      - (0, 0)
      - (5, 0)
      - (5, 5)
      - (0, 5)

이제 Region.Area 속성은 25를 반환하며, 픽셀이 아니라 보정 공간에서의 제곱인치를 나타냅니다. 이렇게 하여 동일한 인터페이스를 보정된 결과와 보정되지 않은 결과에 모두 이용할 수 있습니다.

Note:

- 보정 변환은 ICogImage.GetTransform("#", "<CalibrationSpaceName>")을 통해 보정 이미지로부터 얻을 수 있습니다.

  이렇게 하면 보정 공간을 픽셀 공간으로 변환한 결과가 반환됩니다.

- ViDi2.VisionPro.Calibration namespace에서 다양한 Deep Learning 마킹의 보정이 가능합니다.

## 요약

PatMax와 Deep Learning을 보정 이미지에서 이용할 때, PatMax 도구는 픽셀로 pose를 반환해야 합니다. Deep Learning 결과를 보정 공간에서 해석하기 위해서는, (픽셀) 마킹과 보정 변환을 통해 CalibratedMarking이 생성되어야 합니다.