Matlab中如何使用appdesigner设计工具建立一个简单的界面

Matlab中如何使用appdesigner设计工具建立一个简单的界面(数据的输入、处理和保存)

以使用不同算法处理图像的功能为例

建立一个新的空白界面,matlab中输入appdesigner,打开app设计工具,新建一个空白界面
Matlab中如何使用appdesigner设计工具建立一个简单的界面
为了实现图像的输入和结构显示,以及功能的运转,我们首先拖入两个 图像 和三个 按钮模块,为了美观,去除默认坐标区功能模块的x、y轴颜色和标签(在右侧检查器中更改)
Matlab中如何使用appdesigner设计工具建立一个简单的界面
布局完成后如图所示:
Matlab中如何使用appdesigner设计工具建立一个简单的界面
接下来是为按钮添加回调函数以实现其功能。首先是图像的导入,点击按钮,右键-添加回调,就可以转到代码编辑行
Matlab中如何使用appdesigner设计工具建立一个简单的界面
Matlab中如何使用appdesigner设计工具建立一个简单的界面
灰色部分是app设计工具自动生成的不可更改的设置代码,白色高亮行为按钮的回调函数编写区域,接下来我们在其中输入导入图像的代码:

            [filename,pathname] =uigetfile({'*.png';'*.jpg';'*.bmp';'*.*'},'打开图片');%png、jpg、bmp为图片格式,可以更改为其它格式;打开图片为对话框标题,也可更改;
            str=[pathname filename];%保存选择图片的完整的文件路径
            image=imread(str);%读取图片
            %%
            imshow(image,'parent',app.UIAxes)%选择在坐标区1中显示
            %%

好,现在我们已经可以成功导入图片到app。为了在运算时将图像的数据传递,我们还需要定义一个公有属性,如图所示。
Matlab中如何使用appdesigner设计工具建立一个简单的界面

定义输入图像为InputImage,同时我们也将输出图像定义为OutputImage
Matlab中如何使用appdesigner设计工具建立一个简单的界面
补充图像导入按钮的回调函数,添加app.InputImage=image;

app.InputImage=image;%app变量InputImage为image

Matlab中如何使用appdesigner设计工具建立一个简单的界面
然后我们定义图像灰度化按钮的回调函数,同上

            %%
            image=app.InputImage;%接受app变量
            siz=size(image);%测量输入图片的尺寸
            if siz(3)>2 %判断是否为彩色RGB图片
                image=rgb2gray(image);
            end
            imshow(image,'parent',app.UIAxes_2)%选择灰度化图片在坐标区2中显示
            app.OutputImage=image;%传递输出
            %%
            %以上部分可以替换为你想实现的任何功能的代码

结果如图所示,你已经实现了对图片的输入和处理。
Matlab中如何使用appdesigner设计工具建立一个简单的界面
最后,我们如果有需要保存处理后的图像,请在结果保存按钮的回调函数中,输入以下代码:

            image=app.OutputImage;
            [filename ,pathname,c]=uiputfile({'*.png';'*.jpg';'*.bmp';'*.*'},'保存输出结果');%pathname获取保存数据路径,filename获取保存数据名称
            if c==1
                str=strcat(pathname,filename);%字符串连接
                imwrite(image,char(str));
            end

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
上一篇 2022年6月1日 上午11:09
下一篇 2022年6月1日 上午11:11

相关推荐

本站注重文章个人版权,不会主动收集付费或者带有商业版权的文章,如果出现侵权情况只可能是作者后期更改了版权声明,如果出现这种情况请主动联系我们,我们看到会在第一时间删除!本站专注于人工智能高质量优质文章收集,方便各位学者快速找到学习资源,本站收集的文章都会附上文章出处,如果不愿意分享到本平台,我们会第一时间删除!