Numpy配列の一部を他の配列で置き換えます。Numpy配列を画像データとして扱う場合、以下のサンプルはグレースケールで10×10の白色で塗りつぶされた画像に、3×4の黒色で塗りつぶされた画像を座標x:1座標y:1位置に貼り付ける結果になります。
#!/usr/bin/env python3
#
# 一部を置き換える
#
import numpy as np
data = np.full((10,10), 255, 'uint8')
rep = np.zeros((3,4), 'uint8')
y = 1 # 置き換え座標y
x = 1 # 置き換え座標x
h, w =rep.shape[:2]
data[y:y+h,x:x+w] = rep
print(data)
#[[255 255 255 255 255 255 255 255 255 255]
# [255 0 0 0 0 255 255 255 255 255]
# [255 0 0 0 0 255 255 255 255 255]
# [255 0 0 0 0 255 255 255 255 255]
# [255 255 255 255 255 255 255 255 255 255]
# [255 255 255 255 255 255 255 255 255 255]
# [255 255 255 255 255 255 255 255 255 255]
# [255 255 255 255 255 255 255 255 255 255]
# [255 255 255 255 255 255 255 255 255 255]
# [255 255 255 255 255 255 255 255 255 255]]
置き換える領域をスライスで表現しています。
コメント