Fourier Transform Real

1 개요

이미지의 푸리에 변환을 연산하는 알고리즘입니다.

2 알고리즘 상세 설명

RFT(Fourier Transform Real)은 FFT(Fast Fourier Transform)을 사용하여 주파수 도메인으로 변경하였을 때 DC Point 를 기준으로 대칭성을 띄는 값을 가지는 결과가 나오는 특징을 이용하여 기존 FFT 이미지의 일부를 출력하는 알고리즘입니다.
RFT를 사용하여 주파수 도메인으로 변경한 결과는 FFT Non Shift 상태로 결과를 출력하였을 때의 좌측 절반의 이미지입니다. 따라서 FFT를 사용한 결과보다 메모리를 절약할 수 있는 이점이 존재합니다.
해당 알고리즘은 Nvidia Cuda 연산을 지원하기 때문에, Nvidia Cuda 가 사용 가능한 환경에서 더 빠른 연산을 수행할 수 있습니다.

Fourier Transform에 대한 자세한 설명은 Fourier Transform를 참고해주세요.

Source Image Non Shift Image Destination Image
Source Image Non Shift Image Destination Image
Fig. Fourier Transform Real 동작 실행

3 파라미터 설정 및 사용 방법

멤버함수 파라미터 설 명
SetResultType EFloatingPointAccuracy eResultType IN 이미지 결과 타입

이미지 결과 타입을 설정합니다. EFloatingPointAccuracy_Bit32 로 설정 시 결과 이미지는 float 2채널 이미지로 생성되고, EFloatingPointAccuracy_Bit64 로 설정 시 결과 이미지는 double 2채널 이미지로 생성됩니다.
eResultType - Default Value: EFloatingPointAccuracy_Bit32

4 예제 코드

CFourierTransformReal FourierTransformReal;

CFLImage fliSourceImage;
FourierTransformReal.SetSourceImage(fliSourceImage);

CFLImage fliDestinationImage;
FourierTransformReal.SetDestinationImage(fliDestinationImage);

FourierTransformReal.SetResultType(EFloatingPointAccuracy::EFloatingPointAccuracy_Bit32);

FourierTransformReal.Execute();
CFourierTransformReal FourierTransformReal = new CFourierTransformReal();

CFLImage fliSourceImage = new CFLImage();
FourierTransformReal.SetSourceImage(ref fliSourceImage);

CFLImage fliDestinationImage = new CFLImage();
FourierTransformReal.SetDestinationImage(ref fliDestinationImage);

FourierTransformReal.SetResultType(EFloatingPointAccuracy.Bit32);

FourierTransformReal.Execute();