最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

imfilter の境界パディング オプション

イメージの境界の出力ピクセルを計算した場合、畳み込みまたは相関カーネルの一部が、次の図に示すようにイメージからはみ出てしまうのが普通です。

カーネルの値がイメージの外にはみ出る場合

関数 imfilter は通常、0 と想定してはみ出たイメージ ピクセルを埋めます。これは通常、ゼロ パディングと呼ばれ、次の図のようになります。

外側ピクセルのゼロ パディング

イメージをフィルターすると、ゼロ パディングを行った結果、イメージのエッジ周辺が、この例に示すように濃い帯で覆われることがあります。

I = imread('eight.tif');
h = ones(5,5) / 25;
I2 = imfilter(I,h);
imshow(I), title('Original Image');
figure, imshow(I2), title('Filtered Image with Black Border')

イメージのエッジ周辺からゼロ パディングのアーティファクトを取り除くため、imfilter には "境界重複" という別の境界パディング方法があります。境界重複では、イメージの外側にあるすべてのピクセルの値が、最寄りの境界ピクセルの値を重複することによって決定されます。これを次の図に示します。

重複された境界ピクセル

境界重複を使用してフィルター処理を行うには、追加のオプション引数 'replicate'imfilter に渡します。

I3 = imfilter(I,h,'replicate');
figure, imshow(I3); 
title('Filtered Image with Border Replication')

関数 imfilter は、'circular''symmetric' のような他の境界パディング オプションもサポートしています。詳細は、imfilter のリファレンス ページを参照してください。

参考

関連するトピック