【问题标题】:White binary image in MatlabMatlab中的白色二值图像
【发布时间】:2012-09-27 23:20:27
【问题描述】:

在 Matlab 中,

如果我这样做:

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

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

【问题讨论】:

    标签: image matlab binary


    【解决方案1】:

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

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

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

      output = true(5,5)
    

    【讨论】:

      【解决方案2】:

      你可以使用补全

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

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

      imshow(X,map) 
      

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

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2022-01-18
          • 1970-01-01
          • 1970-01-01
          • 2018-06-10
          • 2018-08-19
          • 2015-10-11
          • 2017-07-19
          相关资源
          最近更新 更多