【问题标题】:Update img after ginput in matlab GUI在 matlab GUI 中 ginput 后​​更新 img
【发布时间】:2013-12-30 18:19:22
【问题描述】:

我现在在 matlab 上做一个小界面,我有一个问题。 所以基本上,我有一个图像和两个按钮,第一个是旋转图像(使用 ginput(2) 获取 2 个坐标),第二个是裁剪图像(也获取两个坐标)。

当我拥有 2 x 和 2 y 时,我想更新我的图像。

所以,我在这里声明我的形象:

function projetGUI_OpeningFcn(hObject, eventdata, handles, varargin)

% Choose default command line output for projetGUI
handles.output = hObject;

% Update handles structure
guidata(hObject, handles);
axes(handles.axes1);
img = imread('plaque3.png');
imshow(img)

这是我的第一个按钮:

function pushbutton1_Callback(hObject, eventdata, handles)

[x,y] =ginput(2);

angleRad = atan((y(2)-y(1))/(x(2)-x(1)));
angleDeg = radtodeg(angleRad);

img = imrotate(img, angleDeg);
imshow(img);
set (handles.text1, 'String' ,'Résults ') ;

这是我的第二个按钮:

function pushbutton2_Callback(hObject, eventdata, handles)

[xcrop,ycrop] = ginput(2);

largeur = xcrop(2) - xcrop(1);
hauteur = ycrop(2) - ycrop(1);

img = imcrop(img,[xcrop(1) ycrop(1) largeur hauteur]);
imshow(img);
set (handles.text1, 'String' ,'Results ') ;

这是我得到的错误:

Undefined function or variable "img".

Error in projetGUI>pushbutton1_Callback (line 91)
img = imrotate(img, angleDeg);

Error in gui_mainfcn (line 96)
        feval(varargin{:});

Error in projetGUI (line 43)
    gui_mainfcn(gui_State, varargin{:});

Error in
@(hObject,eventdata)projetGUI('pushbutton1_Callback',hObject,eventdata,guidata(hObject))


Error while evaluating uicontrol Callback

我很确定问题出现了,因为我的图像不是全局变量,但我没有找到正确的方法来声明它。

谁能帮帮我?

非常感谢 =) (顺便说一句,对不起我的英语,这不是我的母语)

【问题讨论】:

    标签: image matlab button user-interface refresh


    【解决方案1】:

    pushbutton1_Callbackpushbutton2_CallbackprojetGUI_OpeningFcn 的嵌套函数吗?如果不是,那么是的,img 只存在于projetGUI_OpeningFcn 的工作空间中,而不存在于其他两个函数的工作空间中。

    一种可能的解决方法是在您的projetGUI_OpeningFcnguidata(hObject, handles); 在每个函数的末尾 中使用handles.img 而不是img。然后其他函数将可以通过handles.img 访问该图像。

    请参阅documentation on guidata 了解更多信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多