Greatest Common Divisor, GCD
1 개요
이미지를 스칼라 또는 다른 이미지와 최대공약수 연산을 수행하는 알고리즘입니다.
2 알고리즘 상세 설명
정수형 포맷 이미지에서 지원됩니다. 피연산자 값이 모두 0인 경우, 결과로 0을 출력합니다. 그 외의 경우, 피연산자 절댓값의 최대공약수를 계산하여 결과로 출력합니다.
Source Value |
Operand Value |
Destination Value |
 |
 |
 |
Fig. Source, Operand and Destination Values of Greatest Common Divisor
3 예제 코드
Scalar 연산
COperationGreatestCommonDivisor operationGreatestCommonDivisor;
CFLImage fliSourceImage;
CFLImage fliDestinationImage;
CMultiVar<double> mvScalar;
operationGreatestCommonDivisor.SetSourceImage(fliSourceImage);
operationGreatestCommonDivisor.SetDestinationImage(fliDestinationImage);
operationGreatestCommonDivisor.SetOperationSource(EOperationSource_Scalar);
operationGreatestCommonDivisor.SetScalarValue(mvScalar);
operationGreatestCommonDivisor.Execute();
COperationGreatestCommonDivisor operationGreatestCommonDivisor = new COperationGreatestCommonDivisor();
CFLImage fliSourceImage = new CFLImage();
CFLImage fliDestinationImage = new CFLImage();
CMultiVar<double> mvScalar = new CMultiVar<double>();
operationGreatestCommonDivisor.SetSourceImage(ref fliSourceImage);
operationGreatestCommonDivisor.SetDestinationImage(ref fliDestinationImage);
operationGreatestCommonDivisor.SetOperationSource(EOperationSource.Scalar);
operationGreatestCommonDivisor.SetScalarValue(mvScalar);
operationGreatestCommonDivisor.Execute();
operationGreatestCommonDivisor = COperationGreatestCommonDivisor()
fliSourceImage = CFLImage()
fliDestinationImage = CFLImage()
mvScalar = CMultiVar[Double]()
operationGreatestCommonDivisor.SetSourceImage(fliSourceImage)
operationGreatestCommonDivisor.SetDestinationImage(fliDestinationImage)
operationGreatestCommonDivisor.SetOperationSource(EOperationSource.Scalar)
operationGreatestCommonDivisor.SetScalarValue(mvScalar)
operationGreatestCommonDivisor.Execute()
Image 연산
COperationGreatestCommonDivisor operationGreatestCommonDivisor;
CFLImage fliSourceImage;
CFLImage fliOperandImage;
CFLImage fliDestinationImage;
operationGreatestCommonDivisor.SetSourceImage(fliSourceImage);
operationGreatestCommonDivisor.SetOperandImage(fliOperandImage);
operationGreatestCommonDivisor.SetDestinationImage(fliDestinationImage);
operationGreatestCommonDivisor.SetOperationSource(EOperationSource_Image);
operationGreatestCommonDivisor.Execute();
COperationGreatestCommonDivisor operationGreatestCommonDivisor = new COperationGreatestCommonDivisor();
CFLImage fliSourceImage = new CFLImage();
CFLImage fliOperandImage = new CFLImage();
CFLImage fliDestinationImage = new CFLImage();
operationGreatestCommonDivisor.SetSourceImage(ref fliSourceImage);
operationGreatestCommonDivisor.SetOperandImage(ref fliOperandImage);
operationGreatestCommonDivisor.SetDestinationImage(ref fliDestinationImage);
operationGreatestCommonDivisor.SetOperationSource(EOperationSource.Image);
operationGreatestCommonDivisor.Execute();
operationGreatestCommonDivisor = COperationGreatestCommonDivisor()
fliSourceImage = CFLImage()
fliOperandImage = CFLImage()
fliDestinationImage = CFLImage()
operationGreatestCommonDivisor.SetSourceImage(fliSourceImage)
operationGreatestCommonDivisor.SetOperandImage(fliOperandImage)
operationGreatestCommonDivisor.SetDestinationImage(fliDestinationImage)
operationGreatestCommonDivisor.SetOperationSource(EOperationSource.Image)
operationGreatestCommonDivisor.Execute()