首页 > 解决方案 > 3D数组的理解列表

问题描述

我正在处理形状图像的 3D 数组

(225, 400, 3)

我已经完成了这个 for 循环,使图像变成黑白:

for i in imageArray[:,:,:]:
for x in i:
    if x.mean()<= 100:
        x[:] = 0
    else:
        x[:] = 255

但我无法将它放在理解列表中,我试过了:

[0 if x.mean()<=100 else 255 for x in arr_aux[:,:,0:3]]

但什么都做不了

标签: python-3.ximagenumpy

解决方案


您将零分配给该行,而不是一行零。正确的:

[[0] * len(x) if x.mean()<=100 else [255] * len(x) for x in imageArray[:,:,0:3]]

推荐阅读