[scikit-image] 27. 画像のサイズ変更、形状変更(skimage.transform.rescale など)

python

はじめに

ここではskimage.transformrescale, resize, downscale_local_mean による画像のサイズに関するいくつかの変更方法について説明する。

コード

解説

モジュールのインポート

画像データの読み込み、グレースケール化

rgb2grayにより、RGB画像をグレースケールに変換する。

画像のサイズ変更(rescale)

所定の倍率で画像を拡大または縮小する。第2引数で 1.0 / 4.0としているので画像のサイズが0.25倍されることになる。
anti_aliasing=Falseとすることでアンチエイリアス処理が適用されないため、ギザギザが目立つ画像となる。

画像の形状変更(resize)

第2引数に(image.shape[0] / 4, image.shape[1] / 4)とサイズを直接指定する。resizeは縦横比を変化させることができる。anti_aliasing=Trueとすることでアンチエイリアス処理が適用され、なめらかな画像となる。

局所平均化によるサイズ変更(downscale_local_mean)

第2引数は、各軸に沿ってダウンスケールする際の整数の配列となる。(4,3)とした場合は、縦のサイズが1/4、横のサイズが1/3となる。

すべての画像を表示

ax.ravel()としているので、axの形状は(2,2)から(4,)となる。
左上のax[0]にオリジナル画像、右上のax[1]にrescaleした画像、左下のax[2]にresizeした画像、右下のax[3]にはdownscale_local_meanした画像が表示される。

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

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

参考

Rescale, resize, and downscale — skimage 0.22.0 documentation
301 Moved Permanently

コメント