matplotlibの画像表示コード集

1 min read読了の目安(約1700字

matplotlibを使った画像表示コード集。

画像読み込み

import cv2
import matplotlib.pyplot as plt
import numpy as np
from skimage import io

img = io.imread('https://yoyoyo-yo.github.io/Gasyori100knock/assets/imori_256x256.png')

plt.imshow(img)
plt.show()

画像の複数表示(方法1)

row = 1
col = 2
plt.subplot(row, col, 1)
plt.imshow(img)
plt.subplot(row, col, 2)
plt.imshow(img[..., ::-1])
plt.subplots_adjust(left=0.075, bottom=0.05, right=0.95, top=0.95, wspace=0.15, hspace=0.15)
plt.show()

画像の複数表示(方法2)

fig, axs = plt.subplots(1, 2, figsize=(7, 3))
axs[0].imshow(img)
axs[1].imshow(img[..., ::-1])
axs[1].add_patch( plt.Rectangle((x, y), w, h, fill=False, edgecolor='red', linewidth=3.5) )
axs[1].text(x, y - 10, 'AAAAA', bbox=dict(facecolor='orange', alpha=0.8), fontsize=14, color='white')
plt.show()

画像上に矩形をプロット

fig, ax = plt.subplots()
ax.imshow(img)

x = 100
y = 40
w = 100
h = 120

ax.add_patch( plt.Rectangle((x, y), w, h, fill=False, edgecolor='red', linewidth=3.5) )
ax.text(x, y - 10, 'AAAAA', bbox=dict(facecolor='orange', alpha=0.8), fontsize=14, color='white')

plt.show()

ポリゴン表示(多角形)

fig, ax = plt.subplots()
ax.imshow(img)

# position : [x1, y1], [x2, y2]
ax.add_patch(plt.Polygon([[50, 40], [150, 40], [160, 100], [40, 110], [70, 70]], fill=False, color="red", alpha=0.8, linewidth=5))

plt.show()