Scaled Multiply
1 개요
이미지 혹은 Scalar 값을 사용하여 Scaled Multiply 연산을 수행하는 알고리즘입니다.
2 알고리즘 상세 설명
Scaled Multiply의 연산은 다음 식을 활용합니다.
IDst(x,y)=(ISrc(x,y)∗IOpr(x,y))/IMax
Max값은 이미지 타입의 최댓값을 뜻하며, float 혹은 double인 경우 MAX를 1로 설정하여 일반적인 곱셈 연산을 수행합니다.
Source Image |
Operand Image |
Destination Image |
 |
 |
 |
Fig. Source, Operand and Destination values of Scaled Multiply
3 예제 코드
Scalar 연산
COperationScaledMultiply scaledMultiply;
CFLImage fliSourceImage;
CFLImage fliDestinationImage;
CMultiVar<double> mulVarScalar;
scaledMultiply.SetSourceImage(fliSourceImage);
scaledMultiply.SetDestinationImage(fliDestinationImage);
scaledMultiply.SetOperationSource(EOperationSource_Scalar);
scaledMultiply.SetScalarValue(mulVarScalar);
scaledMultiply.Execute();
COperationScaledMultiply scaledMultiply = new COperationScaledMultiply();
CFLImage fliSourceImage = new CFLImage();
CFLImage fliDestinationImage = new CFLImage();
CMultiVar<double> mulVarScalar = new CMultiVar<double>();
scaledMultiply.SetSourceImage(ref fliSourceImage);
scaledMultiply.SetDestinationImage(ref fliDestinationImage);
scaledMultiply.SetOperationSource(EOperationSource.Scalar);
scaledMultiply.SetScalarValue(mulVarScalar);
scaledMultiply.Execute();
scaledMultiply = COperationScaledMultiply()
fliSourceImage = CFLImage()
fliDestinationImage = CFLImage()
mulVarScalar = CMultiVar[Double]()
scaledMultiply.SetSourceImage(fliSourceImage)
scaledMultiply.SetDestinationImage(fliDestinationImage)
scaledMultiply.SetOperationSource(EOperationSource.Scalar)
scaledMultiply.SetScalarValue(mulVarScalar)
scaledMultiply.Execute()
Image 연산
COperationScaledMultiply scaledMultiply;
CFLImage fliSourceImage;
CFLImage fliOperandImage;
CFLImage fliDestinationImage;
scaledMultiply.SetSourceImage(fliSourceImage);
scaledMultiply.SetOperandImage(fliOperandImage);
scaledMultiply.SetDestinationImage(fliDestinationImage);
scaledMultiply.SetOperationSource(EOperationSource_Image);
scaledMultiply.Execute();
COperationScaledMultiply scaledMultiply = new COperationScaledMultiply();
CFLImage fliSourceImage = new CFLImage();
CFLImage fliOperandImage = new CFLImage();
CFLImage fliDestinationImage = new CFLImage();
scaledMultiply.SetSourceImage(ref fliSourceImage);
scaledMultiply.SetOperandImage(ref fliOperandImage);
scaledMultiply.SetDestinationImage(ref fliDestinationImage);
scaledMultiply.SetOperationSource(EOperationSource.Image);
scaledMultiply.Execute();
scaledMultiply = COperationScaledMultiply()
fliSourceImage = CFLImage()
fliOperandImage = CFLImage()
fliDestinationImage = CFLImage()
scaledMultiply.SetSourceImage(fliSourceImage)
scaledMultiply.SetOperandImage(fliOperandImage)
scaledMultiply.SetDestinationImage(fliDestinationImage)
scaledMultiply.SetOperationSource(EOperationSource.Image)
scaledMultiply.Execute()