Reduce Dimension GeoMean 2D to 1D

1 개요

원본 이미지 차원을 축소하는 알고리즘입니다. 축소된 차원의 기하 평균값을 결과로 출력합니다.

2 알고리즘 상세 설명

IDst(x,0)=(y=0Height1ISrc(x,y))1HeightI_{Dst}(x, 0) = \left( \prod_{y=0}^{Height - 1} I_{Src}(x, y) \right)^{\frac{1}{Height}}

IDst(0,y)=(x=0Width1ISrc(x,y))1WidthI_{Dst}(0, y) = \left( \prod_{x=0}^{Width - 1} I_{Src}(x, y) \right)^{\frac{1}{Width}}

이미지의 x 또는 y 차원을 기하 평균값을 기반으로 축소시킵니다.

Source Image Reduce X Dimension Destination Image Reduce Y Dimension Destination Image
Source Image Reduce X Dimension Destination Image Reduce Y Dimension Destination Image
Fig. Reduce Dimension GeoMean 2D to 1D 동작 예시

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

멤버함수 파라미터 설 명
SetReductionDimension CReduceDimensionGeoMean2Dto1D::EReductionDimension eReductionDimension IN 축소 차원을 설정합니다.

4 예제

CFLImage fliSourceImage;
CFLImage fliDestinationImage;

CReduceDimensionGeoMean2Dto1D reduceDimensionGeoMean2Dto1D;
reduceDimensionGeoMean2Dto1D.SetSourceImage(fliSourceImage);
reduceDimensionGeoMean2Dto1D.SetDestinationImage(fliDestinationImage);

// x 차원 축소
reduceDimensionGeoMean2Dto1D.SetReduceDimension(CReduceDimensionGeoMean2Dto1D::EReduceDimension_X);
reduceDimensionGeoMean2Dto1D.Execute();

// y 차원 축소
reduceDimensionGeoMean2Dto1D.SetReduceDimension(CReduceDimensionGeoMean2Dto1D::EReduceDimension_Y);
reduceDimensionGeoMean2Dto1D.Execute();
CReduceDimensionGeoMean2Dto1D reduceDimensionGeoMean2Dto1D = new CReduceDimensionGeoMean2Dto1D();

CFLImage fliSourceImage = new CFLImage();
reduceDimensionGeoMean2Dto1D.SetSourceImage(ref fliSourceImage);

CFLImage fliDestinationImage = new CFLImage();
reduceDimensionGeoMean2Dto1D.SetDestinationImage(ref fliDestinationImage);

// x 차원 축소
reduceDimensionGeoMean2Dto1D.SetReduceDimension(CReduceDimensionGeoMean2Dto1D.EReduceDimension.X);
reduceDimensionGeoMean2Dto1D.Execute();

// y 차원 축소
reduceDimensionGeoMean2Dto1D.SetReduceDimension(CReduceDimensionGeoMean2Dto1D.EReduceDimension.Y);
reduceDimensionGeoMean2Dto1D.Execute();