次の例のように画像のグリッドを表示する方法はもっと慣れていますか?numpyを使ってグリッドに画像を表示する方法がもっと便利
import numpy as np
def gallery(array, ncols=3):
nrows = np.math.ceil(len(array)/float(ncols))
cell_w = array.shape[2]
cell_h = array.shape[1]
channels = array.shape[3]
result = np.zeros((cell_h*nrows, cell_w*ncols, channels), dtype=array.dtype)
for i in range(0, nrows):
for j in range(0, ncols):
result[i*cell_h:(i+1)*cell_h, j*cell_w:(j+1)*cell_w, :] = array[i*ncols+j]
return result
私はhstack
とreshape
などを使用してみましたが、右の振る舞いを得ることができませんでした。
matplotlibでプロットできる画像の数がsubplot
とimshow
に制限されているため、numpyを使用することに興味があります。
あなたがテストするためのサンプルデータが必要な場合には、そのようなあなたのウェブカメラを使用することができます。
import cv2
import matplotlib.pyplot as plt
_, img = cv2.VideoCapture(0).read()
plt.imshow(gallery(np.array([img]*6)))
'配列'の形は何ですか? – Divakar
4つの次元(インデックス、行、列、強度)。どこの強度= 3です。 –
私はそれを実行することはできません。サンプルを投稿して、最後にテストしてもらえますか? – Divakar