python - 使用 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()
解决方案
您需要平均 x 和 y 轴。在您的情况下,轴 1 和轴 2(您可以在 numpy.mean 中将其作为元组输入)。然后,如果您在第一维示例中有 50 个图像,您将获得 (50, 3) 形状的数组。
推荐阅读
- javascript - 如何使用 NestJS 为特定模块添加路由前缀?
- php - 为什么我只在生产中收到错误(预计要传递订单 ID)?
- image - 为什么matlab中的imread函数将灰度图像转换为包含3个通道的图像?
- c - 为什么我的这部分代码总是返回值 0?
- regex - 正则表达式:从字符串中提取键/值
- java - Serializable 和 ArrayStoreException 的问题
- python - 如果列与特定字符串匹配,则删除数据框中的行
- python - 仅在 CI 管道上包含下划线的模块的 Python Django ModuleNotFoundError
- c++ - 为什么编译vs2019 Simple C++ console app源码需要windows sdk编译?任何解决方法?
- sql - SAS SQL 中的枢轴翻译,更简单?