Python
 Computer >> コンピューター >  >> プログラミング >> Python

MatplotlibでHTTP URLからリモート画像を読み込んで表示する方法

HTTP URL上にあるリモート画像をMatplotlibでプロットしたい場合、scikit-image(skimage)が提供するio.imread()メソッドを使うと、URLを直接指定して画像を読み込むことができます。以下の手順で実装してみましょう。

実装手順

  • 図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。
  • HTTP URLから画像データを読み込みます。
  • imshow()メソッドを使い、読み込んだデータを2Dラスタ画像として表示します。
  • axis('off')で軸を非表示にし、画像だけをきれいに見せます。
  • show()メソッドを呼び出して図を表示します。

コード例

from skimage import io
import matplotlib.pyplot as plt

# 図のサイズとレイアウトの自動調整を設定
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

# リモート画像のURLを指定
f = "https://matplotlib.sourceforge.net/_static/logo2.png"

# URLから直接画像を読み込み
a = io.imread(f)

# 画像を表示
plt.imshow(a)
plt.axis('off')

plt.show()

ポイント: io.imread()はローカルファイルだけでなく、httpやhttpsで始まるURLも受け付けられるため、追加のダウンロード処理を書く必要がありません。なお、URLから画像を取得するにはインターネット接続が必要です。また、Pillowimageioライブラリでも同様の処理が可能ですが、ここではシンプルに書けるskimage.ioを採用しています。

出力結果

MatplotlibでHTTP URLからリモート画像を読み込んで表示する方法

  1. 【Python】Matplotlibで複素数をプロットする方法(アルガンド図)

    Matplotlibを使って複素数を可視化するには、複素数のデータセットを作成し、実部をx軸、虚部をy軸に対応させてプロットするのが一般的です。このように表現した図は「アルガンド図(Argand Diagram)」と呼ばれます。 手順 図のサイズを設定し、サブプロット間および周囲のパディングを調整します。 ランダムな複素数データを作成します。 subplots()メソッドを使って、図とサブプロットのセットを生成します。 scatter()メソッドで各複素数を散布図としてプロットします。 show()メソッドを実行して図を表示します。 サンプルコード import numpy as np f

  2. Python Matplotlibで3Dグラフをプロットする方法を解説

    PythonのMatplotlibを使えば、3次元の散布図やグラフを簡単に描画できます。この記事では、mpl_toolkits.mplot3dモジュールを利用して3Dグラフを作成する手順を、サンプルコード付きでわかりやすく解説します。 3Dグラフをプロットする基本手順 Pythonで3Dグラフを描くには、以下のステップに従います。 figure()メソッドを使って、新しい図(フィギュア)を作成するか、既存の図をアクティブにします。 Axes3Dオブジェクトを取得して、3D用の座標軸を準備します。 x、y、zそれぞれのデータポイントをリストとして定義します。 scatter3D()メソッドを使