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

将低分辨率黑白图片转换为二进制矩阵的最简方法是什么

实现方案

1. Python脚本实现(最适合批量自定义处理)

首先需要安装Pillow图像处理库,执行安装命令:
pip install pillow
可以直接使用以下脚本完成转换:

from PIL import Image
import numpy as np # 可选,用于快速存储矩阵

def img_to_bin_matrix(img_path):
    # 加载图片并转为灰度模式
    img = Image.open(img_path).convert("L")
    w, h = img.size
    bin_matrix = []
    for y in range(h):
        current_row = []
        for x in range(w):
            # 纯黑白图灰度值只有0(黑)和255(白),阈值设为128不会有判断误差
            gray_val = img.getpixel((x,y))
            current_row.append(1 if gray_val < 128 else 0)
        bin_matrix.append(current_row)
    return bin_matrix

# 调用示例
target_matrix = img_to_bin_matrix("test.png")
# 可选:将矩阵保存为csv文件
np.savetxt("output_matrix.csv", target_matrix, delimiter=",", fmt="%d")
  • 脚本可以直接套循环批量处理文件夹内所有.png文件,适配你的批量需求
  • 输出的矩阵维度和原图像素尺寸完全对应,无需额外调整

2. 无代码桌面工具实现

直接使用免费开源的ImageJ工具即可:

  1. 打开ImageJ后导入目标图片
  2. 依次点击菜单栏 Image > Type > 8-bit 将图片转为灰度图
  3. 点击 Process > Binary > Make Binary,确认前景色为黑色、背景色为白色
  4. 点击 File > Save As > Text Image 即可直接导出二进制矩阵文件,默认导出的数值是黑为255白为0,你可以直接用Excel批量替换255为1即可完成要求。

3. 命令行批量处理(适合大批量自动化处理)

安装ImageMagick工具后,执行单条命令即可直接输出对应图片的二进制矩阵:
convert 输入图片.png -threshold 50% txt: | tail -n +2 | awk '{print ($3 == "(0,0,0)" ? 1 : 0)}' | pr -ts "" -$(identify -format "%w" 输入图片.png)

  • 命令会直接输出每行的0/1序列,和图片行像素一一对应
  • 套入shell循环即可批量处理文件夹内所有png图片

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 08:36:04