는 나온다. 가우시안에 대해서 검색하면 요상한 그래프를 자주 볼 수 있을 것이다. 뭐 표준
편차에 어쩌구 저쩌구 하는데 나는 이에 대해서 이번에 처음듣게 되어서 생소하였다. 간단
하게 말하자면 가운데의 비중이 제일크고 주변으로 갈수록 비중이 작아 진다는 건데 시그
마 값에 의해서 주변 값들의 비중이 결정 되어진다 시그마가 높으면 주변 값의 비중이 높아
진다. 그래서 주어진 식에 대입해서 그렇게 해서 반복문으로 아래를 만들었다. 다중포문을
사용할때는 주어진 값이 변경된다면 변수를 이용해서 하는 편이 더 깔끔하고 좋았다는 걸
느꼈다.
function [ output_args ] = gaussian( img_name, f_size, sigma )
%GAUSSIAN Summary of this function goes here
% Detailed explanation goes here
t_img = imread(img_name);
filter = zeros(f_size);
[h w] = size(t_img);
result = zeros(h, w, 'uint8');
f_size_buf = (f_size-1)/2;
gauss_buf = 1/(2*pi*(sigma^2));
for i=-f_size_buf:f_size_buf
for j=-f_size_buf:f_size_buf
filter(i+f_size_buf+1,j+f_size_buf+1) = gauss_buf * exp(-1*(i^2+j^2)/(2*(sigma^2)));
end
end
i= 0;
j= 0;
k= 0;
l= 0;
for i=f_size_buf+1:h-f_size_buf
for j=f_size_buf+1:w-f_size_buf
temp = 0;
for k= -f_size_buf:f_size_buf
for l= -f_size_buf:f_size_buf
temp = temp + t_img(i+k,j+l)*filter(k+f_size_buf+1,l+f_size_buf+1);
end
end
result(i-1,j-1) = ceil(temp);
end
end
figure, imshow(t_img);
figure, imshow(result);
end