Pythonで画像サイズ(容量)を小さくする

プログラミング
ゆうすけ
ゆうすけ

ブログに画像を貼りたいんですが、
画像の容量が大きくて読み込みが遅いんです…

資格マフィア
資格マフィア

Pythonでプログラミングすれば、
画像の容量を小さくすることができるぞ。

 

✔️ 本記事のテーマ

 Pythonで画像のサイズ(容量)を小さくする

 

✔️ 読者さんへの前置きメッセージ

本記事は「Pythonで画像のサイズを小さくする方法」について書いています。

 

ブログやメールに画像を使うことは当然のようにあるかと思います。

 

その際に、画像のサイズを気にしているでしょうか?

 

画像のサイズが大きすぎると、それにより弊害が起きることがあります。

 

例えば、ブログにサイズの大きな画像を貼りすぎると、
そのページの読み込みが遅くなってしまいます。

 

画像サイズは小さくできるなら小さいに越したことはありません。

 

そこでこの記事では、
Pythonを使って画像のサイズ(容量)を小さくする方法について解説します。

 

基本的には記事のサンプルコードをそのまま使えば、動くように書いています。

 

では、解説していきましょう。

 

Pythonで画像サイズ(容量)を小さくするコード

Pythonで画像サイズ(容量)を小さくするコード

結論から述べると、以下のコードでPythonの画像サイズを軽くすることができます。

from PIL import Image


input_file = './target.png'

img = Image.open(input_file)
img_p = img.convert('P')
img_p.save(input_file)

ただ、注意点として、このプログラムはpng画像のみを対象にしています。

 

jpg画像のサイズを小さくしたい場合はまずjpgをpngに変換する必要があります。

参考:

 

サンプルコードについて順に解説していきましょう。

Pythonで画像サイズ(容量)を小さくするための前準備

サイズ変更にはPILというPythonライブラリを使用します。

 

PILはサードパーティ製のPythonライブラリなので pip install する必要があります。

 

以下のコマンドをターミナルで実行して、PILをインストールしましょう。

pip install PIL

 

 

from PIL import Image

from PIL import Image

インストールしたPILをimportすることで、
PythonからPILライブラリを使用することができるようになります。

 

ここでは PILImage class をimport しています。

 

画像サイズ(容量)を小さくする処理

img = Image.open(input_file)
img_p = img.convert('P')
img_p.save(input_file)

メイン処理では先ほど import した Image class を使用して画像サイズを変更します。

 

ちなみにメイン処理では、PNG画像を8bitカラーに変換して減色しています。

 

これにより、画質を保ったまま画像容量を大幅に削減することができます。

 

8bitカラーでは通常のPNG画像に比べて、使用可能な色数が少ないので表現力は落ちますが、
ある程度、単調な色彩の画像であれば、見た目を変えずに画像容量だけを削減することができます。

 

画像処理プログラミングを独学で身に付けるための1冊

画像処理プログラミングを独学で身に付けるための1冊

Pythonで画像サイズを小さくする方法について解説しました。

 

もし画像処理プログラミングを身につければ、
画像変換以外にもたくさんの画像処理を行うことができるようになります。

 

もし、画像処理プログラミングについて、
独学でスキルをつけるなら以下の書籍がオススメです。

 

この書籍は画像処理ライブラリのOpenCVの基礎から応用までを
丁寧にかつ詳細に解説しています。

 

OpenCVのほぼ全てを網羅しているとも言えるほどの徹底ぶりなので、
関数のリファレンスとしても使用することができます。

 

また、Pythonについて基礎から学ぶのであれば、オンラインスクールがオススメです。


オンラインスクールで学習すると、講義も分かりやすく、
サポート体制もしっかりしているので、これからPythonを学ぶ人にもオススメです。


オンラインで無料レッスンを体験することもできるので、
自分にあっているかどうかを確かめることができます。


オススメは以下の3つです。
どのスクールも無料体験が用意されているので、
契約前に自分に最適なスクールを探すことができるでしょう。

✔️オススメのプログラミングスクール ベスト3

これらのプログラミングスクールは全て無料の体験コースがあります。

 

「雰囲気だけでも知りたい」
「プログラミング学習の全体像を知りたい」
「スクールに入るかどうか迷っている」
という方はとりあえず無料カウンセリングを受けてみることをオススメします。

 

無料カウンセリングだけなら費用はかかりませんし、
スクールに通うにしろ、独学で学ぶにしろ、
カウンセリングで得ることができる情報には価値があります

 

プログラミングスクールについては「プログラミングスクールで失敗しないためには【オススメベスト3も紹介】」の記事でも紹介しています。


気になった方はぜひチェックしてみて下さい〜!

コメント

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