You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在numpy中对二维数组执行映射操作?高维数组是否适用?

Numpy数组像素二值化映射方案

你可以直接使用Numpy的向量化比较运算实现需求,性能远高于自定义循环或逐元素函数调用,实现代码如下:

import numpy as np

# 假设img_arr为你的原始像素数组
binary_arr = (img_arr > 127).astype(np.uint8)

方案说明

  • 运算逻辑完全匹配你给出的映射规则:数组中每个元素大于127时返回1,否则返回0
  • 该操作属于Numpy原生向量化实现,无需遍历数组,处理大尺寸图像时性能优势明显
  • 方案天然支持任意维度的numpy数组,无论是2D灰度图、3D多通道图像、还是4D批量图像数组,都可以直接复用上述代码,无需做维度适配

验证示例

# 2D数组测试
test_2d = np.array([[0, 255, 0, 255], [0, 255, 128, 127]])
print((test_2d > 127).astype(np.uint8))
# 输出:
# [[0 1 0 1]
#  [0 1 1 0]]

# 3D数组测试
test_3d = np.array([
    [[100, 200], [50, 150]],
    [[255, 127], [30, 130]]
])
print((test_3d > 127).astype(np.uint8))
# 输出对应维度的二值化结果,所有元素均按规则处理

内容的提问来源于stack exchange,提问作者user16727269

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 04:09:02