Complex Multiply
1 개요
이미지 혹은 Scalar 값을 사용하여 복소수의 곱을 구하는 알고리즘입니다.
2 알고리즘 상세 설명
복소수의 곱은 다음 식을 활용합니다.
이미지의 첫 Channel은 실수(, ) 다음 Channel은 허수(, )로 생각하여 연산을 진행합니다.
Source Value | Operand Value | Destination Value |
---|---|---|
![]() |
![]() |
![]() |
Fig. Source, Operand and Destination values of Complex Multiply, (Clamping)
입력 이미지의 Channel이 1인 경우 해당 값을 실수로, 허수를 0으로 연산을 진행합니다. 입력된 Scalar의 차원이 1인 경우 입력 값을 실수로, 허수를 0으로 연산을 진행합니다.
Source Value | Operand Value | Destination Value |
---|---|---|
![]() |
![]() |
![]() |
Fig. Source, Single Channel Operand and Destination values of Complex Multiply, (Clamping)
이미지 연산에서 입력된 이미지의 Channel 수가 3 이상이거나 Scalar 연산에서 Scalar의 크기가 3 이상인 경우 연산을 진행하지 않으며 오류를 반환합니다.
3 예제 코드
Scalar 연산
// 객체 생성
COperationComplexMultiply operationComplexMultiply;
// 입력 이미지
CFLImage fliSourceImage;
// 출력 이미지
CFLImage fliDestinationImage;
// Scalar 값
CMultiVar<double> mulVarScalar;
// 입력 이미지 설정
operationComplexMultiply.SetSourceImage(fliSourceImage);
// 출력 이미지 설정
operationComplexMultiply.SetDestinationImage(fliDestinationImage);
// 연산 방식 설정
operationComplexMultiply.SetOperationSource(EOperationSource_Scalar);
// Scalar 값 설정
operationComplexMultiply.SetScalarValue(mulVarScalar);
// 알고리즘 동작
operationComplexMultiply.Execute();
Image 연산
// 객체 생성
COperationComplexMultiply operationComplexMultiply;
// 입력 이미지
CFLImage fliSourceImage;
// Operand 이미지
CFLImage fliOperandImage;
// 출력 이미지
CFLImage fliDestinationImage;
// 입력 이미지 설정
operationComplexMultiply.SetSourceImage(fliSourceImage);
// Operand 이미지 설정
operationComplexMultiply.SetOperandImage(fliOperandImage);
// 출력 이미지 설정
operationComplexMultiply.SetDestinationImage(fliDestinationImage);
// 연산 방식 설정
operationComplexMultiply.SetOperationSource(EOperationSource_Image);
// 알고리즘 동작
operationComplexMultiply.Execute();