gpt4 book ai didi

python - 跨 Numpy 数组进行减法

转载 作者:行者123 更新时间:2023-12-01 03:03:44 28 4
gpt4 key购买 nike

我有一个形状为 (244,244,3) 的 numpy 数组。每个都保存一个 RGB 图像作为 numpy 数组。我想从每个 channel 中减去一个值。

当然,我可以轻松地使用 for 循环来完成此操作,但我认为 numpy 中有更快的方法?

有什么想法吗?

非常感谢

最佳答案

你可以简单地减去一个3向量,numpy会自动广播它。

使用 5x5 RGB 图像的小演示,从红色 channel 减去 2,从绿色 channel 减去 5,从蓝色 channel 减去 3:

>>> A = 10*np.ones((5,5,3), dtype=int)
>>> A -= [2, 5, 3]
>>> A[:,:,0] # Red
array([[8, 8, 8, 8, 8],
[8, 8, 8, 8, 8],
[8, 8, 8, 8, 8],
[8, 8, 8, 8, 8],
[8, 8, 8, 8, 8]])
>>> A[:,:,1] # Green
array([[5, 5, 5, 5, 5],
[5, 5, 5, 5, 5],
[5, 5, 5, 5, 5],
[5, 5, 5, 5, 5],
[5, 5, 5, 5, 5]])
>>> A[:,:,2] # Blue
array([[7, 7, 7, 7, 7],
[7, 7, 7, 7, 7],
[7, 7, 7, 7, 7],
[7, 7, 7, 7, 7],
[7, 7, 7, 7, 7]])

关于python - 跨 Numpy 数组进行减法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43598652/

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