Pythonで画像をリサイズする方法を現役エンジニアが解説【初心者向け】

初心者向けにPythonで画像をリサイズする方法について現役エンジニアが解説しています。画像のリサイズとは、画像のサイズを元の大きさから変更することです。Pythonでは画像を扱うためのライブラリとしてPillowがあります。画像の変換、保存、回転、リサイズの処理を行うことが出来ます。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事が4,000以上あります。現役エンジニアの方はこちらをご覧ください。

Pythonで画像をリサイズする方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して、初心者向けに解説します。

Pythonについてそもそもよく分からないという方は、Pythonとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプ、Python講座の内容をもとに紹介しています。

 

田島悠介

今回は、Pythonに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

Pythonで画像をリサイズする方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

目次

  1. 画像のリサイズとは
  2. Pillowとは
  3. Pillowを利用して画像をリサイズする方法
  4. 実際に書いてみよう
  5. まとめ
  6. 監修してくれたメンター

 

画像のリサイズとは

画像のリサイズとは、画像のサイズを元の大きさから変更することです。

例えばブログやSNSに写真をアップする際に画像サイズを大きくしたいときがあるでしょう。また、画像を他者にメールで送る際に画像サイズを小さくしたいときもあるかもしれません。

このように、テクノロジーが発達した社会ではプライベートや仕事の様々な場面で日常的に画像のリサイズが行われています。

[PR] Pythonで挫折しない学習方法を動画で公開中

画像ライブラリ、Pillowとは

PillowとはPythonで画像を扱うためのライブラリです。Pillowを使えば、

  • 画像の読み込み
  • カラー画像からモノクロ画像への変換
  • 画像の保存
  • 回転
  • リサイズ

など実に様々な処理ができます。

画像の枚数が数枚であれば手作業で処理してしまっても問題ないかと思いますが、画像の枚数が多い時にはPillowを使って画像を処理していくと作業の効率化ができて良いでしょう。

Pillowを利用して画像をリサイズする方法

Pillowで画像をリサイズするのは非常に簡単です。

リサイズにはPillowのImageモジュールにあるresize()という関数を用います。引数には (画像の横サイズ, 画像の縦サイズ) という形でタプルを指定します。

実際に書いてみよう

まずコードの概要を概要を以下に示します。

  1. 必要なライブラリをインポート
  2. 画像を読み込む
  3. 画像を表示
  4. 画像のリサイズ
  5. リサイズした画像を表示
  6. リサイズした画像を保存

それでは実際にコードを書いてみましょう。今回の例では.jpgの画像を用いていますが、拡張子は.pngでも問題ありません。

from PIL import Image
import matplotlib.pyplot as plt
%matplotlib inline

#画像の読み込み
beautiful_view = Image.open("view.jpg")

#画像を表示して確認
plt.imshow(beautiful_view)

#画像のリサイズ
small_beautiful_view = beautiful_view.resize((2000, 3000))

#リサイズした画像を表示して確認
plt.imshow(small_beautiful_view)

#リサイズした画像を名前をつけて保存
small_beautiful_view.save("small_view.jpg")

リサイズした結果は以下のようになります。

Pythonで画像をリサイズした結果の画像。

また、フォルダ内を確認してみると確かにリサイズした結果が保存されていることがわかります。

Pythonで画像をリサイズするサンプルプログラムを実行して、リサイズした画像を確認した画像。

まとめ

この記事ではPillowで画像をリサイズする方法についてご紹介しました。

画像の編集は多くの方にとって身近な作業であると思います。是非Pillowを使いこなし、業務の効率化を図ってください。

監修してくれたメンター

柴山真沙希(しばやままさき)

大手IT企業などでエンジニアとして2年ほど勤務した後、個人事業主としてプログラミングスクール「エンペサール」を経営。子供から大人まで幅広い層を対象にプログラミングを教えている。

得意言語はPython, HTML, CSSで、機械学習やデータ分析、スクレイピングなどが得意。サッカー観戦や読書が趣味である。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも最短4週間で、Pythonを使った人工知能(AI)や機械学習の基礎を習得できる、オンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。