How to reverse Y axis on image?

426 次查看(过去 30 天)
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 个评论
Dogukan Engin
Dogukan Engin 2019-1-7
Hello,
I also need help on this one.
Thanks,
Rik
Rik 2019-1-7
Since there is an accepted answer: did you try it, and if so, how didn't it work?

请先登录,再进行评论。

采纳的回答

Sergey Efremov
Sergey Efremov 2018-8-29
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 个)

Elisa Lafforgue
Elisa Lafforgue 2018-8-31
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

类别

Help CenterFile Exchange 中查找有关 Images 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by