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