Matlab中的白色二进制图像

时间:2012-10-07 13:41:15

标签: image matlab binary

在Matlab中,

如果我这样做:

output = false(5, 5);
imshow(output);

它会显示一个黑色方块而不是白色二进制方形图像。这有什么理由吗?如何输出白色二进制正方形?

3 个答案:

答案 0 :(得分:2)

原因是false映射到0true映射到1。 此外,当显示图像时,更高的强度显示更高的数字。白色的强度大于黑色。

考虑它的另一种方法是,通常你有256个值 - 0-2550完全是黑色,255完全是白色。现在,假设您对两种颜色进行量化。现在很明显0应该是黑色的。

为了显示白色方块,请使用

  output = true(5,5)

答案 1 :(得分:1)

你可以使用imcomplement

imshow(imcomplement(false(5, 5)))

或修改默认颜色映射(引用imshow的文档)

imshow(X,map) 

使用色彩映射图显示索引图像X.颜色映射矩阵可以具有任意数量的行,但它必须具有正好3列。每行被解释为一种颜色,第一个元素指定红光强度,第二个绿色和第三个蓝色。可以在0.0到1.0的间隔内指定颜色强度。

答案 2 :(得分:1)

您还可以更改图形的colormap以自定义MATLAB如何将值映射到颜色:

BW = [false,true;true,false];
imshow(BW)
set(gcf, 'Colormap',[1,1,1;0,0,0])

screenshot