Borrar filtros
Borrar filtros

How to reverse Y axis on image?

288 visualizaciones (últimos 30 días)
Elisa Lafforgue
Elisa Lafforgue el 29 de Jun. de 2018
Comentada: Lana Neoricic el 7 de En. de 2021
Hello,
First of all, I know this question is dumb and that there is plenty of thread on it, but I could not find any solution in those. I already tried a lot of things and it did not work for me. Thus I came here for assistance.
I use the code below to show an image of a flame. In order to mesure the flame length, I have to plot axis. I managed to have axis and all, with a custom origin point, but I could not reverse the y axis.
figure(7);clf;
Image = 'input.jpg';
[rows, columns, ColorChannels] = size(Image);
origin = [center] % center is a well defined coordinates
xdata = -origin(1): columns - origin(1);
ydata = -origin(2): columns - origin(2);
imshow(Image, 'XData', xdata, 'YData', ydata);
axis on;
grid on;
I already tryed a lot of different solutions I found here and it seems some of them have no effect at all So for:
set(gca,'YDir','reverse')
set(gca,'YDir','normal')
set(gcf,'YDir','reverse')
axis ij
set(hAxes,'YDir','reverse')
Some inversed the whole image (I just want the y axis reversed), such as
fliplr or flipud (ydata) in the imshow
I suppose it might be the "imshow" doing but my image is not from a folder but from a previous matlab code (my figure show the image created just before this part of the code in matlab and this image is not saved anywhere in my folders) so I don't know if there is another solution than imshow for this case.
Do I use the code to reverse axis right? Is there any other solutions?
Ps: I tried to put those codes above in different location (before and after the "imshow") yet it still has no effect at all
  3 comentarios
Dogukan Engin
Dogukan Engin el 7 de En. de 2019
Hello,
I also need help on this one.
Thanks,
Rik
Rik el 7 de En. de 2019
Since there is an accepted answer: did you try it, and if so, how didn't it work?

Iniciar sesión para comentar.

Respuesta aceptada

Sergey Efremov
Sergey Efremov el 29 de Ag. de 2018
By default, y axis of an image is upside-down, values ascending from top down. If you set(gca,'YDir','normal'), you will reverse y axis. (gca,'YDir','reverse') will only leave y axis unchanged from default.
  1 comentario
Lana Neoricic
Lana Neoricic el 7 de En. de 2021
Wow, this one is not obvious at all! Thank you!

Iniciar sesión para comentar.

Más respuestas (1)

Elisa Lafforgue
Elisa Lafforgue el 31 de Ag. de 2018
Well, what I did to solve it is just flipping the image before to put the axis then
axis xy
It does the trick but it would give nausea at any matlab expert I think

Categorías

Más información sobre Graphics Object Programming en Help Center y File Exchange.

Productos

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by