Log
1 개요
스칼라 또는 이미지와의 Log 연산을 수행하는 알고리즘입니다. 이미지 픽셀값을 스칼라 또는 대응하는 이미지 픽셀값을 밑으로 연산하며 음수에 경우 양수로 치환하여 연산을 진행합니다.
2 알고리즘 상세 설명
Source |
Scalar Value : (2) |
Result |
 |
 |
Fig. Scalar 값에 따른 결과 비교
Fig. Image 값에 따른 결과 비교
Log 알고리즘은 각 채널에 대해 Log 연산을 수행합니다. 스칼라 연산과 이미지 연산을 지원합니다.
- Scalar를 설정하지 않으면 기본적으로 자연산수 밑으로 정해집니다.
3 파라미터 설정 및 사용 방법
Source 픽셀의 각 채널에 대해 Scalar 연산을 수행할 Scalar 값을 설정합니다.
SetScalarValue(CMultiVar<double> mvScalarValue)
4 예제 코드
Scalar 연산
COperationLog operationLog;
CFLImage fliSourceImage;
CFLImage fliDestinationImage;
CMultiVar<double> mulVarScalar;
fliSourceImage.Load("../../ExampleImages/OperationLog/gradation_Horizontal.flif");
operationLog.SetSourceImage(fliSourceImage);
operationLog.SetDestinationImage(fliDestinationImage);
operationLog.SetOperationSource(EOperationSource_Scalar);
operationLog.SetScalarValue(mulVarScalar);
operationLog.Execute();
COperationLog operationLog = new COperationLog();
CFLImage fliSourceImage = new CFLImage();
CFLImage fliDestinationImage = new CFLImage();
CMultiVar<double> mulVarScalar = new CMultiVar<double>();
fliSourceImage.Load("../../ExampleImages/OperationLog/gradation_Horizontal.flif");
operationLog.SetSourceImage(ref fliSourceImage);
operationLog.SetDestinationImage(ref fliDestinationImage);
operationLog.SetOperationSource(EOperationSource.Scalar);
operationLog.SetScalarValue(mulVarScalar);
operationLog.Execute();
operationLog = COperationLog()
fliSourceImage = CFLImage()
fliDestinationImage = CFLImage()
mulVarScalar = CMultiVar[Double]()
fliSourceImage.Load("../../ExampleImages/OperationLog/gradation_Horizontal.flif")
operationLog.SetSourceImage(fliSourceImage)
operationLog.SetDestinationImage(fliDestinationImage)
operationLog.SetOperationSource(EOperationSource.Scalar)
operationLog.SetScalarValue(mulVarScalar)
operationLog.Execute()
Image 연산
COperationLog operationLog;
CFLImage fliSourceImage;
CFLImage fliOperandImage;
CFLImage fliDestinationImage;
fliSourceImage.Load("../../ExampleImages/OperationLog/gradation_Horizontal.flif");
fliOperandImage.Load("../../ExampleImages/OperationLog/gradation_Vertical.flif");
operationLog.SetSourceImage(fliSourceImage);
operationLog.SetOperandImage(fliOperandImage);
operationLog.SetDestinationImage(fliDestinationImage);
operationLog.SetOperationSource(EOperationSource_Image);
operationLog.Execute();
COperationLog operationLog = new COperationLog();
CFLImage fliSourceImage = new CFLImage();
CFLImage fliOperandImage = new CFLImage();
CFLImage fliDestinationImage = new CFLImage();
fliSourceImage.Load("../../ExampleImages/OperationLog/gradation_Horizontal.flif");
fliOperandImage.Load("../../ExampleImages/OperationLog/gradation_Vertical.flif");
operationLog.SetSourceImage(ref fliSourceImage);
operationLog.SetOperandImage(ref fliOperandImage);
operationLog.SetDestinationImage(ref fliDestinationImage);
operationLog.SetOperationSource(EOperationSource.Image);
operationLog.Execute();
operationLog = COperationLog()
fliSourceImage = CFLImage()
fliOperandImage = CFLImage()
fliDestinationImage = CFLImage()
fliSourceImage.Load("../../ExampleImages/OperationLog/gradation_Horizontal.flif")
fliOperandImage.Load("../../ExampleImages/OperationLog/gradation_Vertical.flif")
operationLog.SetSourceImage(fliSourceImage)
operationLog.SetOperandImage(fliOperandImage)
operationLog.SetDestinationImage(fliDestinationImage)
operationLog.SetOperationSource(EOperationSource.Image)
operationLog.Execute()