0
私は、それぞれが画像(x、y、rgb)を表す2つの3D numpy配列を持っています。マゼンタのピクセル(255,0,255)を除いて、小さいイメージを大きなイメージに書きたいと思います。私はすべてのマゼンタのピクセルを表す2Dマスクを生成する方法を知っています - 3D配列操作でこの2Dマスクを使用するにはどうすればいいですか?2Dマスクを使用して大型3Dアレイのスライスに3D numpy配列を書き込む
私は、それぞれが画像(x、y、rgb)を表す2つの3D numpy配列を持っています。マゼンタのピクセル(255,0,255)を除いて、小さいイメージを大きなイメージに書きたいと思います。私はすべてのマゼンタのピクセルを表す2Dマスクを生成する方法を知っています - 3D配列操作でこの2Dマスクを使用するにはどうすればいいですか?2Dマスクを使用して大型3Dアレイのスライスに3D numpy配列を書き込む
これは一例です。それは正確には正確ではありません(すべての値は1つまたは2つです)。うまくいけば、これはあなたの状況で動作します:numpypyでこれを使用しようとしている人のために
image1 = np.ones((5,5,16))
image2 = 2 * np.ones((3,3,16))
mask = np.array([[0, 1, 1], [0, 0, 1], [1, 0, 0]])
x, y = np.where(mask)
image1[1:4,1:4,:][x,y,:] = image2[x,y,:]
(。1:4,1:4
は大きな画像内のサブイメージの位置です)
、それは動作しません - どうやら[1 -argはまだ実装されていません。](https://bitbucket.org/pypy/numpy/issues/41/implementation-of-1-arg-numpywhere)pypyがサポートする可能性の高い方法がありますか? –