使用2D mas将3D numpy数组写入更大的3D数组的切片中

2024-10-05 18:58:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个3D numpy数组,每个数组代表一个图像(x,y,rgb)。我想将较小的图像写入较大的图像,除了任何洋红色像素(255,0,255)。我知道如何生成一个代表所有品红像素的二维掩模——如何在三维数组操作中使用这个二维掩模?你知道吗


Tags: 图像numpy代表rgb像素数组掩模洋红色
1条回答
网友
1楼 · 发布于 2024-10-05 18:58:45

这里有一个例子。它并不精确(所有的值都是一个或两个),但给出了一个想法。希望这在你的情况下有效:

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是子图像在较大图像中的位置。)

相关问题 更多 >