2015년 9월 18일 금요일

matlab. mean filter

매트랩 mean filter이다. 단순히 하나의 픽셀을 둘러싸고있는 정사각형의 배열(둘러싸고 있

는 픽셀 3*3이라면 2,2의 중앙의 값을 결정 하기 위한)에서 모든 수를 더하고 그 픽셀의

개수만큼 나눠주어서 평균값을 계산하여 픽셀의 수치를 계산하는 것이다.




function [ output_args ] = mean( img_name, f_size )
%MEAN Summary of this function goes here
%   Detailed explanation goes here

       t_img = imread(img_name);
     
       filter = zeros(f_size);
       filter(1:f_size,1:f_size) = 1/(f_size*f_size);

       [h w] = size(t_img);
     
       result = zeros(h, w, 'uint8');
     
       i= 0;
       j= 0;
       k= 0;
       l= 0;
     
       for i=2:h-1
           for j=2:w-1
               temp = 0;
               for k= -1:1
                   for l= -1:1
                       temp = temp + t_img(i+k,j+l)*filter(k+2,l+2);
                   end
               end
               result(i-1,j-1) = ceil(temp);
           end
       end
     
       figure, imshow(t_img);
       figure, imshow(result);
     
end

댓글 없음:

댓글 쓰기