python-3.x - 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]]
但什么都做不了
解决方案
您将零分配给该行,而不是一行零。正确的:
[[0] * len(x) if x.mean()<=100 else [255] * len(x) for x in imageArray[:,:,0:3]]
推荐阅读
- javascript - 如何在 React Native 中的 StyleSheet.create 中继承样式(可能使用解构语法)
- ios - 如何修复 Xcode 的代码缩进错误?
- asp.net-core - 具有 .NetCore 3.0 不记名令牌授权的 SwaggerUI
- java - 春天。如何将 ObjectId 字段作为字符串返回以响应 Rest 控制器?
- java - 为什么我们不能使用 RuntimeException 而不是创建自定义异常?
- reactjs - 您在查询中使用片段,没有添加类型名
- sql-server - 在 sql-server 中执行自由文本时使用“\+”关键字有什么用?
- javascript - 将功能拆分为较小的功能
- python-3.x - Spyder 控制台 - 启动内核时发生错误
- c# - 停止执行方法