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

如何将MNIST数据集的Numpy灰度图像转换为黑白二值图像?

如何将MNIST数据集的Numpy灰度图像转换为黑白二值图像?

当然有简单的方法啦!在NumPy里处理这种阈值二值化操作非常方便,我给你分享两种常用且高效的实现方式:

  • 布尔索引转换法
    利用NumPy的数组比较特性直接生成布尔数组,再转换为整数类型就能得到0和1的二值图像:

    import numpy as np
    
    # 假设你的MNIST图像数组为images,形状可以是单张图的(28,28)或批量的(样本数,28,28)
    binary_images = (images > 128).astype(np.int32)
    

    原理很简单:images > 128会生成一个由True/False组成的布尔数组,其中大于128的像素为True,其余为False;astype(np.int32)会把True转为1,False转为0,刚好符合你的需求。

  • np.where条件赋值法
    如果你想要更直观的条件声明,可以用np.where函数,直接指定满足/不满足阈值时的取值:

    binary_images = np.where(images > 128, 1, 0)
    

    这个函数的逻辑是:第一个参数是判断条件,满足条件的位置取第二个参数的值(1),不满足的位置取第三个参数的值(0),一步就能生成目标二值数组。

这两种方法都支持批量处理整个MNIST数据集的多维数组,不需要循环遍历每个样本,效率拉满~

备注:内容来源于stack exchange,提问作者Noë Mastrorillo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.14 13:03:07