Laplacian Of Gaussian Filter

1 개요

Laplacian Of Gaussian Filter 알고리즘은 Gauss 함수의 2차 미분격인 Laplacian 을 구하여 Edge 영역을 검출하는 알고리즘입니다.

2 알고리즘 상세 설명

F(x,y)=1πσ4{x2+y22σ21}ex2+y22σ2\large F(x,y) = \frac{1}{\pi \sigma^{4}} \left\{ \frac{x^{2}+y^{2}}{2 \sigma^{2}} - 1 \right\} e^{- \frac{x^{2}+y^{2}}{2 \sigma^{2}}}

입력 받은 σ\sigma 값에 해당하는 Kernel 함수를 사용하여 이미지 Edge 영역을 검출하며 6σ6 \sigma 에 가까운 Kernel 크기가 자동으로 설정됩니다.

입력 이미지 결과 이미지
Intput Image Laplacian of Gaussian Filter Result
Fig. Laplacian of Gaussian Filter 동작 예시

위의 예시는 예제 이미지에 σ=0.8\sigma = 0.8 설정 후 실행한 예시입니다.

CLaplacianOfGaussianFilter laplacianOfGaussianFilter;

CFLImage fliSourceImage;
laplacianOfGaussianFilter.SetSourceImage(fliSourceImage);

laplacianOfGaussianFilter.SetSigma(0.8);

laplacianOfGaussianFilter.Execute();
CLaplacianOfGaussianFilter laplacianOfGaussianFilter = new CLaplacianOfGaussianFilter();

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

laplacianOfGaussianFilter.SetSigma(0.8);

laplacianOfGaussianFilter.Execute();
laplacianOfGaussianFilter = CLaplacianOfGaussianFilter()

fliSourceImage = CFLImage()
laplacianOfGaussianFilter.SetSourceImage(fliSourceImage)

laplacianOfGaussianFilter.SetSigma(0.8)

laplacianOfGaussianFilter.Execute()

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

멤버함수 파라미터 설 명
SetSigma double f64Sigma IN Sigma of Gauss Func.
GetSigma double f64Sigma OUT Sigma of Gauss Func.

Laplacian of Gaussian Filter 의 Kernel Size는 6σ6 \sigma 보다 같거나 큰 홀수로 결정됩니다. 예를 들어 σ\sigma = 0.5 인 경우 Kernel Size 는 3x3 이 되며, σ\sigma = 1 인 경우 Kernel Size 는 7x7 이 됩니다. 계산된 Kernel Size 가 같아도 σ\sigma 값이 다른 경우 Kernel 전체 Weight 값에 변동이 발생하므로 차이가 발생할 수 있습니다.

f64Sigma - Default Value : 0.5, Recommended Value : 0.5 ~ 1.5