デジタルトレンドナビ
システム開発

2024.06.14

Pythonで画像を表示する方法

Pythonで画像を表示する方法

Pythonは、多くの用途で利用される汎用的なプログラミング言語です。特に画像処理の分野では、その豊富なライブラリと使いやすさから、多くのエンジニアやデータサイエンティストに支持されています。


この記事では、Pythonを使って画像を表示するための基本的な方法から、さまざまなライブラリを用いた高度な手法までを解説します。具体的なコード例や手順を通じて、初心者でも簡単に理解できるように工夫しています。画像の表示方法をマスターすることで、データの視覚化や画像処理の第一歩を踏み出しましょう。

Pythonで画像を表示する基本的な方法

Pythonで画像を表示するには、いくつかの基本的なステップがあります。これらのステップを理解することで、簡単に画像を表示できるようになります。以下では、必要なライブラリのインストールから基本的なコード例、そして具体的な表示手順までを詳しく説明します。

必要なライブラリのインストール

まず、Pythonで画像を表示するためには、いくつかのライブラリが必要です。以下のコマンドを使って、必要なライブラリをインストールしましょう。

bash

pip install pillow matplotlib opencv-python
  • Pillow: 画像処理の基本的な操作を行うためのライブラリ
  • Matplotlib: データの視覚化のためのライブラリ
  • OpenCV: 高度な画像処理を行うためのライブラリ

基本的なコード例

次に、Pythonで画像を表示するための基本的なコード例を紹介します。ここでは、Pillowを使用した簡単な例を示します。

python

from PIL import Image

# 画像の読み込み
img = Image.open('path_to_image.jpg')

# 画像の表示
img.show()

このコードは、指定したパスにある画像を読み込み、表示するためのものです。

画像の表示手順の詳細

  • 画像の読み込み: Image.open(‘path_to_image.jpg’)を使って画像を読み込みます。ここで’path_to_image.jpg’は表示したい画像のパスです。
  • 画像の表示: img.show()を使用して、読み込んだ画像を表示します。

これで、基本的な画像の表示が完了です。次に、異なる方法を使って画像を表示する方法を紹介します。

Pythonで異なる方法を使って画像を表示する

Pythonでは、画像を表示するためのさまざまなライブラリがあります。ここでは、Pillow、Matplotlib、OpenCVを使用した方法について詳しく説明します。各ライブラリの特長を理解し、用途に応じて使い分けることができます。

Pillowライブラリを使った方法

PillowはPythonで画像処理を行うためのライブラリで、簡単な画像の表示や操作に非常に便利です。以下は、Pillowを使って画像を表示する手順です。

ライブラリのインポート:

python

from PIL import Image

画像の読み込み:

python

img = Image.open('path_to_image.jpg')

画像の表示:

python

img.show()

具体的なコード例:

python

from PIL import Image

# 画像の読み込み
img = Image.open('path_to_image.jpg')

# 画像の表示
img.show()

Pillowを使用すると、画像の表示だけでなく、リサイズやフィルターの適用なども簡単に行えます。

Matplotlibを使った方法

Matplotlibはデータの視覚化に特化したライブラリですが、画像の表示にも利用できます。以下は、Matplotlibを使った画像の表示手順です。

ライブラリのインポート:

python

import matplotlib.pyplot as plt
import matplotlib.image as mpimg

画像の読み込み:

python

img = mpimg.imread('path_to_image.jpg')

画像の表示:

python

plt.imshow(img)
plt.axis('off')  # 画像表示時に軸を表示しない
plt.show()

具体的なコード例:

python

import matplotlib.pyplot as plt
import matplotlib.image as mpimg

# 画像の読み込み
img = mpimg.imread('path_to_image.jpg')

# 画像の表示
plt.imshow(img)
plt.axis('off')  # 画像表示時に軸を表示しない
plt.show()

Matplotlibを使うことで、複数の画像を一度に表示したり、グラフと組み合わせて表示したりすることができます。

OpenCVを使った方法

OpenCVはコンピュータビジョンに特化したライブラリで、画像処理や解析に非常に強力です。以下は、OpenCVを使った画像の表示手順です。

ライブラリのインポート:

python

import cv2

画像の読み込み:

python

img = cv2.imread('path_to_image.jpg')

画像の表示:

python

cv2.imshow('Image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

具体的なコード例:

python

import cv2

# 画像の読み込み
img = cv2.imread('path_to_image.jpg')

# 画像の表示
cv2.imshow('Image', img)
cv2.waitKey(0)  # キー入力を待機
cv2.destroyAllWindows()  # ウィンドウを閉じる

OpenCVを使うと、画像の表示だけでなく、顔認識やエッジ検出などの高度な画像処理も行えます。

画像表示の応用例

ここでは、基本的な画像の表示方法に加えて、応用的な画像操作について説明します。画像のリサイズやフィルター適用、複数画像の表示、インタラクティブな画像表示など、実際のプロジェクトで役立つ技術を学びましょう。

画像のリサイズとフィルター適用

Pillowを使用して、画像のリサイズやフィルター適用を行う方法を説明します。リサイズは画像のサイズを変更する操作で、フィルター適用は画像にエフェクトを加える操作です。

リサイズの方法:

python

from PIL import Image

img = Image.open('path_to_image.jpg')
resized_img = img.resize((width, height))
resized_img.show()

例:

python

img = Image.open('path_to_image.jpg')
resized_img = img.resize((800, 600))
resized_img.show()

フィルター適用の方法:

python

from PIL import Image, ImageFilter

img = Image.open('path_to_image.jpg')
filtered_img = img.filter(ImageFilter.BLUR)
filtered_img.show()

例:

python

img = Image.open('path_to_image.jpg')
filtered_img = img.filter(ImageFilter.CONTOUR)
filtered_img.show()

Pillowを使うと、簡単に画像のサイズ変更やエフェクトを加えることができます。これにより、視覚的に魅力的な画像を作成することが可能です。

複数画像の表示

Matplotlibを使って、複数の画像を一度に表示する方法を説明します。複数の画像を並べて表示することで、比較や分析が容易になります。

複数画像の表示方法:

python

import matplotlib.pyplot as plt
import matplotlib.image as mpimg

img1 = mpimg.imread('path_to_image1.jpg')
img2 = mpimg.imread('path_to_image2.jpg')

fig, axes = plt.subplots(1, 2)  # 1行2列のサブプロットを作成

axes[0].imshow(img1)
axes[0].axis('off')

axes[1].imshow(img2)
axes[1].axis('off')

plt.show()

例:

python

img1 = mpimg.imread('path_to_image1.jpg')
img2 = mpimg.imread('path_to_image2.jpg')

fig, axes = plt.subplots(1, 2)  # 1行2列のサブプロットを作成

axes[0].imshow(img1)
axes[0].axis('off')

axes[1].imshow(img2)
axes[1].axis('off')

plt.show()

Matplotlibを使うことで、簡単に複数の画像を並べて表示し、比較や分析を行うことができます。

インタラクティブな画像表示

Jupyter Notebookを使用して、インタラクティブに画像を表示する方法を説明します。これにより、画像の細部を拡大したり、フィルターを適用したりすることが可能です。

インタラクティブな表示方法:

python

import ipywidgets as widgets
from IPython.display import display
from PIL import Image

def show_image(filter=None):
    img = Image.open('path_to_image.jpg')
    if filter:
        img = img.filter(filter)
    display(img)

filters = [None, ImageFilter.BLUR, ImageFilter.CONTOUR, ImageFilter.DETAIL]

widgets.interact(show_image, filter=filters)

例:

python

import ipywidgets as widgets
from IPython.display import display
from PIL import Image, ImageFilter

def show_image(filter=None):
    img = Image.open('path_to_image.jpg')
    if filter:
        img = img.filter(filter)
    display(img)

filters = [None, ImageFilter.BLUR, ImageFilter.CONTOUR, ImageFilter.DETAIL]

widgets.interact(show_image, filter=filters)

Jupyter Notebookを使用することで、インタラクティブな操作を通じて、さまざまなフィルターを試したり、画像の細部を調べたりすることができます。

まとめ

この記事では、Pythonを使って画像を表示するさまざまな方法を紹介しました。基本的な方法から応用的な操作まで、具体的なコード例を通じて説明しました。それぞれのライブラリには独自の特長があり、用途に応じて使い分けることができます。

Pythonを使った画像表示の方法を理解することで、データの視覚化や画像処理の第一歩を踏み出すことができます。これらの技術をマスターして、あなたのプロジェクトに応用してみましょう。

 

投稿者

  • デジタルトレンドナビ編集部

    システム開発、Webサイト制作、ECサイトの構築・運用、デジタルトランスフォーメーション(DX)など、デジタルビジネスに関わる多岐の領域において、最新のトレンド情報や実践的なノウハウを発信してまいります。