【发布时间】:2019-10-01 04:18:23
【问题描述】:
我想平均一个 numpy 数组的切片(它是一个图像)。
目前我正在迭代每个像素,但速度非常慢。我知道有更好的方法,但我无法解决。它可能是 numpy 花式索引,但我被卡住了。
我使用 openCV 将图像读入一个形状为 640,480,3 的 numpy 数组,我想将最后一位(即 [123,121,234])更改为每个 640x480 的切片的平均值。
您不必给我答案,但朝正确的方向推动会有所帮助。
这对我来说很慢:
def bw_image_arr(self):
for x in self.images:
for y in x:
for z in y:
z = z.mean()
【问题讨论】:
-
对
.mean使用轴参数。 -
你想计算每个RGB通道的平均值吗?
-
我正在试验,我想将所有 3 个值更改为平均值。我需要把 3 个频道留在那里。它实际上是这种格式的图像数组。 50,640,480,3
-
最终输出的形状是什么?
-
50,640,480,3 与之前相同,但原来 [251,145,125] 的 ,3 将变为 [174,174,174]