[scikit-image] 26. 画像の周囲を補間する(skimage.util.pad)

python

はじめに

画像処理において、画像の周囲に余白を追加したり、特定のパターンで埋めたりする必要がある場合があります。scikit-imageライブラリのskimage.util.pad関数は、このような画像の周囲を様々な方法で補間することができる便利な機能を提供しています。この記事では、pad関数の基本的な使い方や各種パディングモードについて解説します。

コード

コードをダウンロード(.pyファイル)

コードをダウンロード(.ipynbファイル)

解説

モジュールのインポート

画像データの作成

図の作成

画像の補間

画像は、modesリストに示した方法で補間されます。

pad()関数によって画像の補間が可能になります。pad_widthをimg[0].shape(10)に設定しているため、補間後の画像サイズは(30,30)になります。 また、ax[n].plot([9.5, ・・・, 9.5], ‘c–‘, linewidth=0.5)というコードで、元の画像部分の境界がシアン色の破線で表示されます。

補間のモード

‘constant’

定数値で補間する。

‘edge’

エッジの値で補間する。

‘wrap’

画像と同様の画像で補間する。

‘reflect’

各軸で反射した画像になるように補間される。

‘symmetric’

各軸に対して対称的になるように補間される。

‘linear_ramp’

end_valueとエッジの値の間での線形補間となる。

‘maximum’

各軸に対して、ベクトルのすべて、または、一部の最大値で補間される。

‘mean’

各軸に対して、ベクトルのすべて、または、一部の平均値で補間される。

‘median’

各軸に対して、ベクトルのすべて、または、一部の中央値で補間される。

図のアスペクト比を揃える設定

まとめ

scikit-imageのskimage.util.pad関数を使うことで、画像の周囲を様々な方法で補間することができます。constant、edge、reflect、symmetricなど多様なパディングモードが用意されており、画像処理のニーズに応じて適切な方法を選択できます。これにより、フィルタリングやサイズ調整などの処理を行う前の前処理として、効果的に画像を拡張することが可能になります。

参考

Interpolation: Edge Modes — skimage 0.25.2 documentation

コメント