Polar Transform
1 개요
이미지의 극좌표 변환을 연산하는 알고리즘입니다.
2 알고리즘 상세 설명
(𝑥, 𝑦) : 데카르트 좌표계의 𝑥, 𝑦 축 좌표값
𝜌 : 이미지 중심으로부터의 거리
𝜃 : 𝑥축과의 각도
2차원 데카르트 좌표계의 이미지를 극좌표로 변환하는 연산입니다.
변환 결과는 입력 이미지와 같은 크기의 형태로 출력되기 때문에 이미지 해상도가 작을수록 정보 손실이 커집니다.
이미지 중심으로부터 거리를 로그 스케일로 나타내는 Log-Polar 변환도 지원되며, 각 거리 척도에 대한 역변환도 지원됩니다.
N채널 8비트 이상 이미지 연산만 지원합니다.
해당 알고리즘은 NVIDIA Cuda 연산을 지원하기 때문에, NVIDIA Cuda 가 사용 가능한 환경에서 더 빠른 연산을 수행할 수 있습니다.
| Source Image | Destination Image |
|---|---|
![]() |
![]() |
Fig. Polar Transform 동작 실행
3 파라미터 설정 및 사용 방법
| 멤버함수 | 파라미터 | 설 명 | ||
|---|---|---|---|---|
| SetDistanceScale | EDistanceScale | eDistanceScale | IN | 거리 척도 타입 |
거리 척도를 설정합니다. 선형 스케일과 로그 스케일을 선택할 수 있습니다.
eDistanceScale - Default Value: EDistanceScale_Linear
| 멤버함수 | 파라미터 | 설 명 | ||
|---|---|---|---|---|
| EnableInverseTransform | bool | bInverse | IN | 역변환 적용 유무 |
역변환을 적용할 지 설정합니다. true 상태 시 극좌표계에서 데카르트 좌표계로 변환합니다.
bInverse - Default Value: false
4 예제 코드
CPolarTransform polarTransform;
CFLImage fliSourceImage;
polarTransform.SetSourceImage(fliSourceImage);
CFLImage fliDestinationImage;
polarTransform.SetDestinationImage(fliDestinationImage);
PolarTransform.Execute();

