imshow в Octave под OSX 10.9.5 показывает изображение с инвертированной осью Y

Согласно справке Octave:

 The origin (0, 0) for images is located in the
 upper left.  For ordinary plots, the origin is located in the lower
 left.  Octave handles this inversion by plotting the data normally,
 and then reversing the direction of the y-axis by setting the
 'ydir' property to "reverse".

Однако imshow показывает изображение с исходной точкой в ​​левом нижнем углу, и поэтому изображение зеркально отражается по вертикали.

Это признак плохой установки, незадокументированного изменения или?

Есть ли способ изменить это, чтобы не приходилось каждый раз переворачивать ось Y?

Спасибо.


person santuta    schedule 06.12.2015    source источник
comment
get(gca, ydir) возвращает обратное значение? Какой вы используете Graphics_toolkit? Какая версия GNU Octave? Устанавливали с помощью fink, macports, homebrew?   -  person Andy    schedule 07.12.2015
comment
работает под Windows, Octave 4.0.0, пакет образа 2.4.1. во всех трех параметрах graphics_toolkit (qt, fltk и gnuplot) imshow помещает исходное значение массива (запись row=1, col=1) в верхнем левом углу отображаемого изображения. Кроме того, get(gca,'ydir') показывает обратное для всех трех. Поэтому, если есть проблема, она кажется изолированной от OSX, вашей версии или аналогичной.   -  person Nick J    schedule 07.12.2015
comment
У меня установлена ​​версия 4.0.0 с доморощенным. Я использую X11, и get(gca, ydir) возвращает обратное значение. Я установил следующие пакеты: control | 3.0.0 общие | 2.0.0 изображение | 2.4.1 сигнал | 1.3.2 Спасибо.   -  person santuta    schedule 08.12.2015


Ответы (1)


Взгляните на https://www.gnu.org/software/octave/doc/interpreter/Rearranging-Matrices.html У меня также была эта проблема, и единственный способ, который я нашел для ее решения, — перевернуть матрицу. Если ваше изображение зеркально отражено по вертикали, используйте команду fliplr(A), которая отразит матрицу A.

person Dan12-16    schedule 09.12.2015
comment
Спасибо, это сработало, но для решения вертикального зеркала мне пришлось использовать flipud(A); - person santuta; 12.12.2015