我有一个关于在MATLAB中创建二进制图像的问题。
我想创建一个3907x3713
像素的二进制图像。每个像素由矩阵中的位置表示(我假设)。除了0
(1000-1500
- 轴)和x
(2000-2500
- 轴之间的像素外,每个像素都必须为黑色(因此值y
) ),这些必须是白色的(我猜是值256
)。
首先,我创建了一个包含3907
行和3713
列的矩阵。我用零填充(通过函数zeros
)。但是,我遇到了一个简单的方法,用值256
替换一些。
感谢您的时间和帮助。
答案 0 :(得分:0)
零函数返回 double 数组。
要创建仅包含黑白颜色的二进制图像,请将数组转换为逻辑类型:
im=logical(zeros(3907, 3713));
这将有助于显着减少(64次)内存使用。
在这样的图像中,0用于黑色,1用于白色。不允许其他值。
因此,要创建一些白色像素,请使用
im(1000:1500,2000:2500) = 1;