1.1 Gradation

1 개요

Gradation은 이미지에 그라데이션을 적용하는 알고리즘입니다.

2 알고리즘 상세 설명

설정한 벡터와 Alpha 시작/끝 값, Gradation 시작/끝 값을 사용하여 입력된 이미지에 Gradation을 적용합니다.

알고리즘 동작 결과
입력 입력 이미지 결과 결과 이미지
실행 결과

사용되는 수식은 다음과 같습니다.

PN=PC(1AC)+VCACP_N = P_C * (1 - A_C) + V_C * A_C

AC=AS+(AEAS)LRA_C = A_S + (A_E - A_S) * L_R

VC=VS+(VEVS)LRV_C = V_S + (V_E - V_S) * L_R

다중 채널의 경우 각 채널에 대하여 알고리즘이 적용되며 각 채널의 Alpha, Gradation 값이 적용됩니다.

3 파라미터 설정 및 사용 방법

4 예제 코드

// 알고리즘 객체 생성합니다.
CGradation gradation;

// 이미지를 입력합니다.
CFLImage fliSourceImage;
gradation.SetSourceImage(fliSourceImage);

// Gradation 벡터 설정
CFLLine<double> flfVector;
gradation.SetVector(flfVector);

// Gradation 시작 Alpha 설정
CMultiVar<double> mvStartAlpha;
gradation.SetStartAlpha(mvStartAlpha);

// Gradation 끝 Alpha 설정
CMultiVar<double> mvEndAlpha;
gradation.SetEndAlpha(mvEndAlpha);

// Gradation 시작 Gradation 설정
CMultiVar<double> mvStartValue;
gradation.SetStartValue(mvStartValue);

// Gradation 끝 Gradation 설정
CMultiVar<double> mvEndValue;
gradation.SetEndValue(mvEndValue);

// 알고리즘 실행
gradation.Execute();
// 알고리즘 객체 생성합니다.
CGradation gradation = new CGradation();

// 이미지를 입력합니다.
CFLImage fliSourceImage = new CFLImage();
gradation.SetSourceImage(ref fliSourceImage);

// Gradation 벡터 설정
CFLLine<double> flfVector = new CFLLine<double>();
gradation.SetVector(flfVector);

// Gradation 시작 Alpha 설정
CMultiVar<double> mvStartAlpha = new CMultiVar<double>();
gradation.SetStartAlpha(mvStartAlpha);

// Gradation 끝 Alpha 설정
CMultiVar<double> mvEndAlpha = new CMultiVar<double>();
gradation.SetEndAlpha(mvEndAlpha);

// Gradation 시작 Gradation 설정
CMultiVar<double> mvStartValue = new CMultiVar<double>();
gradation.SetStartValue(mvStartValue);

// Gradation 끝 Gradation 설정
CMultiVar<double> mvEndValue = new CMultiVar<double>();
gradation.SetEndValue(mvEndValue);

// 알고리즘 실행
gradation.Execute();