더북(TheBook)
Mat getGaussianKernel(int ksize, double sigma, int ktype = CV_64F);

ksize

커널 크기. ksize는 0보다 큰 홀수이어야 합니다.

sigma

가우시안 표준 편차. 만약 0 또는 음수를 지정하면 sigma = 0.3*((ksize-1)*0.5 - 1) + 0.8 형태로 sigma를 계산합니다.

ktype

필터의 타입. CV_32F 또는 CV_64F

반환값

ksize×1 크기의 가우시안 필터 커널

 

getGaussianKernel() 함수는 표준 편차가 sigma인 1차원 가우시안 분포 함수로부터 ksize×1 크기의 필터 마스크 행렬을 생성하여 반환합니다. ksize는 (8*sigma + 1)보다 같거나 크게 지정하는 것이 좋습니다. 이 행렬의 원소에 저장되는 값은 다음 수식을 따릅니다.

앞 수식에서 i=0,...,ksize-1의 범위를 가지며, α이 되도록 만드는 상수입니다.

Note

getGaussianKernel() 함수는 ksize 값이 7보다 같거나 작고 sigma 값이 0 또는 음수인 경우에는 다음과 같이 미리 정해 놓은 배열 값을 이용하여 커널 행렬을 생성합니다.

static const float small_gaussian_tab[][7] =
{
  { 1.f },
  { 0.25f, 0.5f, 0.25f },
  { 0.0625f, 0.25f, 0.375f, 0.25f, 0.0625f },
  { 0.03125f, 0.109375f, 0.21875f, 0.28125f, 0.21875f, 0.109375f, 0.03125f }
};
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.