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

如何在Matlab中将二值图像的黑色像素改为指定灰度值(如160)

在Matlab中修改二值图像的像素灰度值

二值图像在Matlab中一般以逻辑型(仅0/1)或uint8型(0/255)存储,要把黑色像素(对应值0)替换为指定灰度值(比如160),可以按以下步骤操作:

  • 读取图像并确保格式正确:如果是逻辑型图像,需要先转换为uint8格式的灰度图,这样逻辑值1会被转为255(对应白色)。
  • 定位所有值为0的像素,直接赋值为目标灰度值即可。

示例代码

% 读取二值图像
img = imread('binary_image.png');

% 处理逻辑型图像的格式转换
if islogical(img)
    img = uint8(img) * 255;
end

% 将黑色像素替换为160
img(img == 0) = 160;

% 查看结果
imshow(img);

% 保存修改后的图像(可选)
imwrite(img, 'modified_gray_image.png');

说明

如果你的二值图像原本就是uint8类型(0代表黑色,255代表白色),可以跳过格式转换的代码块,直接执行像素替换操作即可。修改后图像仅保留替换后的灰度色调,无法恢复原始色彩,符合你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 05:42:03