Filter löschen
Filter löschen

How to reverse Y axis on image?

289 Ansichten (letzte 30 Tage)
Elisa Lafforgue
Elisa Lafforgue am 29 Jun. 2018
Kommentiert: Lana Neoricic am 7 Jan. 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 Kommentare
Dogukan Engin
Dogukan Engin am 7 Jan. 2019
Hello,
I also need help on this one.
Thanks,
Rik
Rik am 7 Jan. 2019
Since there is an accepted answer: did you try it, and if so, how didn't it work?

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Sergey Efremov
Sergey Efremov am 29 Aug. 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 Kommentar
Lana Neoricic
Lana Neoricic am 7 Jan. 2021
Wow, this one is not obvious at all! Thank you!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Elisa Lafforgue
Elisa Lafforgue am 31 Aug. 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

Kategorien

Mehr zu Graphics Object Programming finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by