How to use First button function codes "symbol name" in Second button function in App Designer

1 次查看(过去 30 天)
I have an image. In app designer , I use "axes application" to add image there. When I click first button I add image and show it in Axes area.
I added second button . In second button I want to filter that same image when I click it.
For example my image name is "imgf" and I use imshow(img) when I click first button and show it. I want to use that "imgf" in my second button. But it gives error.
Because that "imgf" belongs to in first button function codes. How will I use that "imgf" in my second button function codes.
Codes are below
% Callbacks that handle component events
methods (Access = private)
% Button pushed function: SelectAnImageButton
function SelectAnImageButtonPushed(app, event)
global imgf;
[filename pathname]= uigetfile({'*.jpg'},"Open file");
fullpathname= strcat(pathname,filename);
imgf=imread(fullpathname);
if(size(imgf,3)>1)
imgf=rgb2gray(imgf);
end
imshow(imgf,'parent',app.UIAxes);
end
% Button pushed function: FilterTheImageButton
function FilterTheImageButtonPushed(app, event)
img=imgaussfilt(imgf); % I want to use "imgf" in here to filter the image
imshow(img,'parent',app.UIAxes);
end
end
  2 个评论
Ali Zulfikaroglu
Ali Zulfikaroglu 2021-3-3
I want to also use third button. In Third button I want to use roipoly command to draw a circle on image.
But I should use filtered image in second function and continue with that "img" in third button function .
mask=roipoly(img);
How will I draw a circle with using roipoly command on uıaxes ?

请先登录,再进行评论。

采纳的回答

Rik
Rik 2021-3-3
Don't use global variables. There are many other ways to share data between callbacks. You should probably store the variable in a property.
  4 个评论
Ali Zulfikaroglu
Ali Zulfikaroglu 2021-3-3
I realised my mistake at property .
And it should be added app.
properties (Access = private)
t % Using this description
end
% Callbacks that handle component events
methods (Access = private)
% Button pushed function: SelectAnImageButton
function SelectAnImageButtonPushed(app, event)
global imgf;
[filename pathname]= uigetfile({'*.jpg'},"Open file");
fullpathname= strcat(pathname,filename);
imgf=imread(fullpathname);
if(size(imgf,3)>1)
imgf=rgb2gray(imgf);
end
imshow(imgf,'parent',app.UIAxes);
app.t=imgf % t is in here property function and it should be app.t
end
% Button pushed function: FilterTheImageButton
function FilterTheImageButtonPushed(app, event)
img=imgaussfilt(app.t);
imshow(img,'parent',app.UIAxes);
end
end

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Migrate GUIDE Apps 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by