我想編輯正在顯示的一系列圖像中的座標軸。如何在MATLAB中編輯圖像的軸以反轉方向?
這是我的形象看起來像:
正如你可以看到,它的範圍從0到從頂部約500至底部。我可以反轉嗎? 另外,我想鏡像所顯示的圖像,以便它從左到右......或者如果可能的話,讓軸從右到左顯示。
我想編輯正在顯示的一系列圖像中的座標軸。如何在MATLAB中編輯圖像的軸以反轉方向?
這是我的形象看起來像:
正如你可以看到,它的範圍從0到從頂部約500至底部。我可以反轉嗎? 另外,我想鏡像所顯示的圖像,以便它從左到右......或者如果可能的話,讓軸從右到左顯示。
要扭轉一個軸,您可以設置current axes到'reverse'
的'XDir'
或'YDir'
屬性:
set(gca,'XDir','reverse'); %# This flips the x axis
請記住,這樣翻轉軸翻轉中的情節都爲好。這可能不是你想爲y軸做的事情。你可能只是想翻轉Y軸標籤,您可以通過修改下列方式'YTickLabel'
物業辦:
yLimits = get(gca,'YLim'); %# Get the y axis limits
yTicks = yLimits(2)-get(gca,'YTick'); %# Get the y axis tick values and
%# subtract them from the upper limit
set(gca,'YTickLabel',num2str(yTicks.')); %'# Convert the tick values to strings
%# and update the y axis labels
Im = imread('onion.png');
Im = flipdim(Im ,1); % vertical flip the image.
axis xy; %set the xy to be at (0,0), this flips the image back again.
而吶喊DEE鬥圖像現在具有了一個Y軸範圍從底部到頂部!
當我使用IMAGE或IMAGESC函數在MATLAB中顯示圖像時,如何反轉y軸?Another solution from mathworks
我發現gnovice的答案有幫助,但它需要一些調整。我認爲以下是在y軸上反轉標籤的更通用的方法。只需按降序和重新標記排序y標記號。
yTicks = get(gca,'YTick');
yTicks_reverse = sort(yTicks,2,'descend');
set(gca,'YTickLabel',num2str(yTicks_reverse.'));
更快,更容易,我想:'image(Im); set(gca,'YDir','normal')' – 2016-08-22 15:24:50
謝謝你完美的作品!感謝您添加評論,以便我能夠理解代碼的工作原理! - 另外一個問題,我可以改變x軸/ y軸的值嗎? – NLed 2010-05-19 14:03:45
@ZaZu:您可以通過更改軸的XTick和YTick屬性來更改軸的值。如果將「XTickLabelMode」和「YTickLabelMode」屬性設置爲「auto」(默認情況下,當您未修改標籤時),則更改刻度值後標籤將自動更新。否則,你將不得不自己更新標籤。 – gnovice 2010-05-19 14:13:48
謝謝,簡直太神奇了:) – NLed 2010-05-19 14:35:12