【问题标题】:Writing a 3D numpy array into a slice of a larger 3D array using a 2D mask使用 2D 掩码将 3D numpy 数组写入更大的 3D 数组的切片中
【发布时间】:2016-04-09 01:04:04
【问题描述】:

我有两个 3D numpy 数组,每个数组代表一个图像 (x, y, rgb)。我想将较小的图像写入较大的图像,除了任何洋红色像素(255、0、255)。我知道如何生成代表所有洋红色像素的 2D 蒙版——如何在 3D 数组操作中使用此 2D 蒙版?

【问题讨论】:

    标签: python numpy pypy


    【解决方案1】:

    这是一个例子。它并不完全准确(所有值都是一两个),但给出了这个想法。希望这适用于您的情况:

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-20
    • 2011-10-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多