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 } };