首页 > 解决方案 > 使用 numpy、openCV 和 python 自定义灰度图像

问题描述

我想平均一个 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()

标签: pythonimagenumpyopencv

解决方案


您需要平均 x 和 y 轴。在您的情况下,轴 1 和轴 2(您可以在 numpy.mean 中将其作为元组输入)。然后,如果您在第一维示例中有 50 个图像,您将获得 (50, 3) 形状的数组。


推荐阅读