如何更改用imshow创建的人物的人物边缘?

时间:2018-10-29 09:50:57

标签: matlab figure imshow edges

我正在使用imshow创建此二进制映像。当显示该图时,我看到一个灰色背景,图中没有边缘。如果将图另存为.png,则背景将显示为白色,并且图中看不到任何边缘。如何为该图添加边缘?

imshow所示的图像:

image showed by imshow command

图像另存为PNG:

image saved in a .png format

1 个答案:

答案 0 :(得分:2)

默认情况下,保存的数字具有白色背景。通过将图形的InvertHardcopy属性设置为'off',确保所保存图形的颜色与显示器上的颜色匹配。

示例:

A = rand(300, 300) > 0.1;

f = figure();
  f.InvertHardcopy = 'off';
  imshow(A);
  title('Binary Image threshold 0.9');
  saveas(f, 'test.png'); 

给予:

enter image description here

或者,可以在imshow中设置轴的可见性并使刻度线为空:

A = rand(300, 300) > 0.1;

f = figure();
  iptsetpref('ImshowAxesVisible', 'on');
  imshow(A);
  xticks({});
  yticks({});
  title('Binary Image threshold 0.9');
  saveas(f, 'test.png');

给出:

enter image description here

来源:Matlab Documentation