Modulo
1 개요
스칼라 또는 이미지와의 나머지 연산을 수행하는 알고리즘입니다.
2 알고리즘 상세 설명
Source | Scalar Value : (3, 5, 2) |
---|---|
Result | |
![]() |
![]() |
Fig. Scalar 값(244, 222, 200)에 따른 결과
Source | ||
---|---|---|
Operand | Result | |
![]() |
![]() |
![]() |
Fig. Image 값에 따른 결과
3 파라미터 설정 및 사용 방법
- 스칼라 연산 설정
-
Source 픽셀의 각 채널에 대해 Scalar 연산을 수행할 Scalar 값을 설정합니다.
-
API
SetScalarValue(Base::CMultiVar<double>); SetScalarValue(Base::CMultiVar<float>); SetScalarValue(Base::CMultiVar<int64_t>); SetScalarValue(Base::CMultiVar<int32_t>); SetScalarValue(Base::CMultiVar<uint32_t>); SetScalarValue(Base::CMultiVar<uint64_t>);
-
예제 코드
COperationModulo Modulo; CFLImage fliSourceImage; CFLImage fliDestinationImage; // 지정된 경로에서 이미지 로드 if(fliSourceImage.Load(L"../../ExampleImages/OperationModulo/Sun.flif").IsFail()) break; Modulo.SetSourceImage(fliSourceImage); Modulo.SetDestinationImage(fliDestinationImage); // 연산 방식 설정 Modulo.SetOperationSource(ImageProcessing::EOperationSource_Scalar); // 스칼라 값 설정 CMultiVar<double> mvScalar(30.000000, 50.000000, 20.000000); Modulo.SetScalarValue(mvScalar); // 알고리즘 수행 if(Modulo.Execute().IsFail()) break; // 수행된 결과 이미지를 저장 if(fliDestinationImage.Save(L"../../ExampleImages/OperationModulo/Result.flif").IsFail()) break;
-
- 이미지 연산 설정
-
Operand 이미지를 설정합니다.
-
API
SetOperandImage(Base::CFLImage);
-
예제 코드
COperationModulo Modulo; CFLImage fliSourceImage; CFLImage fliOperandImage; CFLImage fliDestinationImage; // 지정된 경로에서 이미지 로드 if(fliSourceImage.Load(L"../../ExampleImages/OperationModulo/Sun.flif").IsFail()) break; if(fliOperandImage.Load(L"../../ExampleImages/OperationModulo/Sunset.flif").IsFail()) break; Modulo.SetSourceImage(fliSourceImage); // Operand 이미지 설정 Modulo.SetOperandImage(fliOperandImage); Modulo.SetDestinationImage(fliDestinationImage); // 연산 방식 설정 Modulo.SetOperationSource(ImageProcessing::EOperationSource_Image); // 알고리즘 수행 if(Modulo.Execute().IsFail()) break; // 수행된 결과 이미지를 저장 if(fliDestinationImage.Save(L"../../ExampleImages/OperationModulo/Result.flif").IsFail()) break;
-