Pythonでscikit-imageを用いて画像を回転させる

Pythonでscikit-imageを用いて画像を回転させてみます。

今回は、scikit-imageを用います。このライブラリ・モジュールは、Pythonの標準ライブラリではありませんので、事前にインストールする必要があります。

■Python

今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)

■画像を用意する

scikit-imageを用いて画像を回転させてみますが、その前に画像を用意します。

今回はPixabay(https://pixabay.com/)から著作権フリーの画像をダウンロードし、jpg形式の画像を用意しました。

用意した画像は「forest_test.jpg」という名前に変更し、「C:\Users\user_\test(フォルダパス)」に画像を置きます。

■scikit-imageを用いて画像を回転させる

画像の用意ができましたので、scikit-imageを用いて画像を回転させるスクリプトを書いていきます。

■コード

from skimage import io, transform
file = r'C:\Users\user_\test\forest_test.jpg'
forest = io.imread(file)
forest_rotated = transform.rotate(forest,angle=45,resize=True)
io.imshow(forest_rotated)
io.show()

from importでskimageモジュールのioとtransformを呼び出します。その後、fileという変数を定義し、その中に今回用意した画像ファイル(置かれている場所,ファイルの名前)を格納します。

その後、forestという変数を定義し、その中でio.imread()を用います。括弧内には引数,パラメータとして、file変数を渡します。これでfile変数内に格納した画像ファイルを読み込みし、forest変数内に格納します。

次にforest_rotatedという変数を定義し、その中でtransform.rotate()を用います。括弧内には第1の引数,パラメータとして、forest変数を渡します。第2の引数,パラメータとして、反時計回り方向の回転角度を渡します。今回は45とします。第3の引数,パラメータとして、「resize=True」を渡します。これで出力画像の形状を自動的に変更し、サイズ内で回転した画像が正確に収まるようにすることができます。

最後にio.imshow()とio.show()を用いて、回転させた画像を表示します。io.imshow()には引数,パラメータとしてforest_rotated変数を渡します。

■実行・検証

このスクリプトを「s_i_image.py」という名前で、Pythonが実行されている作業ディレクトリ(カレントディレクトリ)に保存し、コマンドプロンプトから実行してみます。

実行してみると、ウインドウが表示され、今回用意した画像が指定した角度で回転した状態で出力させることができました。

コメント

タイトルとURLをコピーしました