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

如何用Python或Scilab将黑白图像转换为像素值矩阵

将黑白图像转换为灰度值矩阵的实现方法

Python 实现

方法1:使用 PIL + NumPy

  • 安装依赖:pip install pillow numpy
  • 代码示例:
from PIL import Image
import numpy as np

# 加载图像并转为8位灰度模式
img = Image.open("your_image.png").convert("L")
# 转换为NumPy矩阵,形状为(高度, 宽度),元素值范围0-255
gray_matrix = np.array(img)

# 验证输出
print("矩阵形状(高度, 宽度):", gray_matrix.shape)
print("左上角5x5灰度值:\n", gray_matrix[:5, :5])
  • 说明:convert("L") 会将图像转为单通道灰度图,生成的NumPy数组行对应图像高度,列对应宽度,0代表纯黑,255代表纯白。

方法2:使用 OpenCV

  • 安装依赖:pip install opencv-python numpy
  • 代码示例:
import cv2
import numpy as np

# 直接以灰度模式读取图像,返回矩阵形状为(高度, 宽度)
gray_matrix = cv2.imread("your_image.png", cv2.IMREAD_GRAYSCALE)

# 验证输出
print("矩阵形状:", gray_matrix.shape)
print("灰度值范围:", np.min(gray_matrix), "-", np.max(gray_matrix))
  • 说明:cv2.IMREAD_GRAYSCALE 参数会跳过彩色通道,直接读取为8位灰度矩阵,无需额外转换,值范围同样是0-255。

Scilab 实现

  • 代码示例:
# 读取图像文件
img = imread("your_image.png");
# 若图像为彩色,转为灰度(黑白图像可省略此步)
gray_img = rgb2gray(img);
# 灰度图本身即为目标矩阵,形状为(高度, 宽度)
gray_matrix = gray_img;

# 验证输出
disp("矩阵形状(高度, 宽度):", size(gray_matrix));
disp("左上角5x5灰度值:", gray_matrix(1:5, 1:5));
  • 说明:rgb2gray 会将彩色图像转为单通道灰度图,生成的矩阵行对应图像高度,列对应宽度,灰度值0(黑)到255(白)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 09:12:36