Y-axis 翻转问题 - Matlab App 设计器 GUI

Y-axis flip issue - Matlab App designer GUI

基于这个问题 Calculate Y coordinates of an image from graph point of origin 我尝试在应用程序设计器 GUI 中执行相同的操作,但它不起作用。我附上了一张图片,显示该图片不是从图形的原点开始的,并且由于 set 命令,我得到了一个新图形。知道如何 fix/do 吗?

代码:

function ButtonPushed(app, event)
    url='https://icons.iconarchive.com/icons/thesquid.ink/free-flat-sample/512/owl-icon.png';

    I = imread(url);
    I = rgb2gray(I);
    I=flipud(I);
    
    imshow(I,'Parent', app.imageAxes); 
    set(gca,'YDir','normal')
end

您可以尝试将图像数据导入为二维网格,然后翻转它..不确定是否可行。

gca 创建一个新图形 window 和一组新轴(如果有 none)。特别是,应用程序设计器 window 不是人物 window,因此创建了一个新人物。

但是您不需要使用 gca 来获取对坐标轴的引用,因为您已经在 app.imageAxes 中有了引用。这会将您的坐标轴设置为正常方向:

set(app.imageAxes, ,'YDir', 'normal')

这应该与

相同
app.imageAxes.YDir = 'normal';