2024-04-19 00:40:31 发布
网友
我有一个numpy数组的形状(244244,3)。每个存储一个RGB图像作为numpy数组。我想从每个通道中减去一个值。在
当然,我可以很容易地用for循环来完成,但是我假设在numpy中有一种更快的方法?在
有什么想法吗?在
非常感谢
你可以简单地减去一个向量。在
一个5x5 RGB图像的小演示,红色通道减去2,绿色通道减去5,蓝色通道减去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]])
你可以简单地减去一个向量。在
一个5x5 RGB图像的小演示,红色通道减去2,绿色通道减去5,蓝色通道减去3:
相关问题 更多 >
编程相关推荐