Как отобразить изображение в Octave с исходным соотношением сторон и размером?

Я хочу отобразить изображение в октаве без масштабирования (т.е. один пиксель изображения соответствует одному пикселю моего монитора) или с неправильным соотношением сторон. К сожалению, ни imshow(), ни imagesc(), ни image() не делают этого автоматически. Но это должно быть возможно, верно?
Я использую Octave 3.2.4.


person Good Night Nerd Pride    schedule 14.12.2011    source источник


Ответы (2)


Есть несколько способов сделать это. Вот 2 из них:

  1. запустить daspect ([1 1]) после отображения изображения;
  2. используйте набор, чтобы изменить некоторые свойства изображения set (gca, "Position", [0 0 1 1])
person carandraug    schedule 22.08.2012
comment
Запустив imshow(randn([20 30])), daspect ([1 1]), set (gca, "Position", [0 0 1 1]), я получаю увеличенное изображение. То, что я хотел бы (и то, что, я думаю, требует этот вопрос), было бы крошечным изображением 20x30 с одним пикселем монитора на пиксель изображения. Есть ли способ сделать это? - person Luis Mendo; 21.08.2016
comment
Думаю, теперь я понял. Мне нужно установить положение фигуры в пикселях соответствующего размера в дополнение к set (gca, "Position", [0 0 1 1]) - person Luis Mendo; 21.08.2016

Я обнаружил, что в Octave 3.8.1 (под управлением версии дистрибутива Linux Mint 17) использование axis tight normal создаст корректный график, аналогичный стандартному выводу Matlab. YMMV.

person Dan Parshall    schedule 16.01.2015