初めに
画像用移動平均フィルタをPythonで自作してみたにフィルタのこと、移動平均フィルタの説明を記載しているので、先にこちらをみてください。
実装
今回の記事では、フィルタのサイズを3×3で実装します。
全ソースコード
%% 画像読み込み
Img = imread('画像の名前');
%% 画像の端にデータを加える
padding_img = padarray(Img,[1, 1], 0, 'both');
%% カーネル設定(3×3)
filter_sorce = [1 1 1; 1 1 1; 1 1 1];
option = 1/9;
kernel = filter_sorce * option;
filter_size = 3;
picture_size = 258;
n1 = picture_size - filter_size + 1;
n2 = picture_size - filter_size + 1;
%% フィルタ処理後のデータを格納する変数
after_img = zeros(256, 256);
new_pixel = 0;
%% 処理
for i=1:n1
for s=1:n2
for t=0:2
for u=0:2
new_pixel = new_pixel + padding_img(i+t, s+u) * kernel(t+1, u+1);
end
end
after_img(i, s) = new_pixel;
new_pixel = 0;
end
end
disp(size(padding_img))
%% 表示
after_img = cast(after_img, 'uint8');
imshowpair(Img, after_img, 'montage')
以上です。
コメント