Image 创建一个二进制图像

Image 创建一个二进制图像,image,matlab,Image,Matlab,我有一个关于在MATLAB中创建二值图像的问题。 我想创建一个具有3907x3713像素的二进制图像。每个像素由矩阵中的一个位置表示(我猜)。每个像素必须是黑色的(因此我猜值0),除了1000-1500(x-轴)和2000-2500(y-轴)之间的像素外,这些像素必须是白色的(我猜值256) 首先,我创建了一个包含3907行和3713列的矩阵。我用零填充它们(通过函数zeros)。但是,我不得不找到一种简单的方法,用值256替换一些 感谢您的时间和帮助。零函数返回一个双精度数组 要创建只有黑白色

我有一个关于在MATLAB中创建二值图像的问题。 我想创建一个具有
3907x3713
像素的二进制图像。每个像素由矩阵中的一个位置表示(我猜)。每个像素必须是黑色的(因此我猜值
0
),除了
1000-1500
x
-轴)和
2000-2500
y
-轴)之间的像素外,这些像素必须是白色的(我猜值
256

首先,我创建了一个包含
3907
行和
3713
列的矩阵。我用零填充它们(通过函数
zeros
)。但是,我不得不找到一种简单的方法,用值
256
替换一些


感谢您的时间和帮助。

函数返回一个双精度数组

要创建只有黑白色的真正的二值图像,请将数组转换为逻辑类型:

im=logical(zeros(3907, 3713));
这将有助于大大减少(64倍)内存的使用

在这样的图像中,0用于黑色,1用于白色。不允许使用其他值

因此,要创建一些白色像素,请使用

im(1000:1500,2000:2500) = 1;

im(1000:15002000:2500)=255怎么样?如果类型为双精度,则1对应于白色。只有uint8,255(而不是256!)是白色的。我会马上试试,谢谢回复!