Как изменить края фигуры фигуры, созданной с помощью imshow? - PullRequest
0 голосов
/ 29 октября 2018

Я использую imshow для создания этого двоичного изображения. Когда он показывает фигуру, я вижу серый фон и никаких краев на фигуре. Если я сохраню график как .png, я вижу фон белым цветом и не вижу никаких краев на рисунке. Как я могу добавить ребра к этому графику?

Изображение как показано imshow:

image showed by imshow command

Изображение как сохранено в PNG:

image saved in a .png format

1 Ответ

0 голосов
/ 29 октября 2018

По умолчанию сохраненные фигуры имеют белый фон. Убедитесь, что цвета сохраненной фигуры соответствуют цветам на дисплее, установив для свойства 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

...