【初心者向け】Pythonで画像サイズをリサイズしよう!

画像データを扱っていると、画像のサイズをリサイズしたいな。。なんていうときはありませんでしょうか?

Pythonの画像処理ライブラリPillow(PIL)を用いると、画像を簡単にリサイズすることが出来ます。

画像をリサイズするプログラム

任意のリサイズ処理を適用したい画像ファイルをinput.pngというファイル名で準備してください。

その後、以下のプログラムと同じ場所に、input.pngというファイル名を配置してください。

from PIL import Image
img_file = 'input.png'

# リサイズ前の画像を読み込み
img = Image.open(img_file)
# 読み込んだ画像の幅、高さを取得し半分に
(width, height) = (img.width // 2, img.height // 2)
# 画像をリサイズする
img_resized = img.resize((width, height))
# ファイルを保存
img_resized.save('output.png', quality=90)

1行目では、PillowからImageを読み込んでいます。

from PIL import Image

2行目のimg_fileでは、リサイズ対象の画像ファイルを読み込んでいます。
このファイル名は、お使いのパソコンに保存されているリサイズしたい画像のファイル名に変えてください。

img_file = 'input.png' # 今回はinput.pngファイルを読み込むとします。

次の行では、open()を用いて、リサイズ対象の画像を読み込んでいます。

img = Image.open(img_file)

次の行では、読み込んだ画像の幅、高さを取得し、// 2を用いて半分にしています。

(width, height) = (img.width // 2, img.height // 2)

次の行では、resize()を用いて、半分にしたサイズを幅と高さに指定します。この処理を実行することで、半分にリサイズされます。

img_resized = img.resize((width, height))

最後の行では、save()を用いてリサイズした画像を保存しています。

1つ目の引数には、書き出したいファイル名を指定します。

2つ目の引数qualityには、品質を指定できます。1~100まで指定出来、初期値は75になっています。

もちろん、値が大きい方が品質が高くなりますが、その分ファイルサイズも大きくなってしまいます。今回は90を指定しています。

img_resized.save('output.png', quality=90)

✨生成AIコース 受講お申込み受付中!

生成AIの概要やChatGPTの基礎操作、プロンプトエンジニアリングの基礎から実践まで学べます。演習課題を通じて、ご自身の業務に適したプロンプトやツールを作成し、生成AIを業務に活用できるスキルが身につきます。

受講特典:受講期間中、59種類の充実したAI Academyのオリジナルテキストを使いながら学んでいただけます。 例)「機械学習に必要な数学編」「機械学習アルゴリズムの理論と実装編」「自然言語処理編」「プロンプトエンジニアリング入門編」など

Pythonを効率よく学ぶには?

Pythonを効率よく学ぶには、普段からPythonを利用している現役のデータサイエンティストや機械学習エンジニアに質問できる環境で学ぶことです。

AI Academy Bootcamp ではAI・データサイエンス、機械学習の実践力を高める全6コース50時間以上の動画が見放題!AIの学習に必須のPythonの学習から始まり、データサイエンス・機械学習など、目的に応じた幅広い分野をカバーしています。

🎁ちょっとひと息 ! 業務や学習に役立つライブラリーをプレゼント !

オンラインプログラミングスクールのAI Academy Bootcamp LINE公式のライブラリーでは無料動画、講座、最新技術資料など、学習や業務に役立つ秀逸な教材や実践的なリソースを豊富に取り揃えています!毎週新しいコンテンツも更新中です。LINE友だち登録でプレゼントします。ぜひご活用ください!

LINE Libraryで人気 の動画です。

倍速で学ぶ!生成AIを活用したプログラミング勉強法】 生成AIを活用して効率的にプログラミングを学ぶ方法を解説しています。生成AIの基本的な仕組みや効果的な活用法、注意点についても詳しく説明。勉強法とともに生成AIそのものについても学べる内容となっています。ぜひご覧ください!



1 COMMENT

コメントを残す