gpt4 book ai didi

python - Numpy 数组 - 替换元素

转载 作者:行者123 更新时间:2023-12-01 08:22:08 27 4
gpt4 key购买 nike

我是 numpy 新手,我想替换 3D numpy 数组中的特定元素。我的 3D numpy 数组代表一个图像。数组的形状为:(1080、1920、3)。数字3代表图像中每个像素的RGB。

我想知道的是如何将所有等于[0,0,0]的元素变成[255,255,255]这意味着我希望图像中的所有黑色像素都是白色的。我该怎么做?谢谢!

最佳答案

假设您已将数组存储在 data 中;这应该有效:

data[(data == 0).all(axis=2)] = [255, 255, 255]

这是由于numpy的广播规则,将每个值与 0 进行比较,产生一个 bool 数组 True它们比较相等的值和 False别处。

下一步是仅采用所有单个值都比较相等的子数组,即 .all(axis=2) - 最后一个轴,这是您想要的轴。

然后,使用生成的 bool 数组,您可以索引回 data ,这只会给你那些等于 [0, 0, 0] 的子数组,并将它们设置为 [255, 255, 255] .

关于python - Numpy 数组 - 替换元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54563775/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com