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

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

建立一个新的空白界面,matlab中输入appdesigner,打开app设计工具,新建一个空白界面

为了实现图像的输入和结构显示,以及功能的运转,我们首先拖入两个 图像 和三个 按钮模块,为了美观,去除默认坐标区功能模块的x、y轴颜色和标签(在右侧检查器中更改)

布局完成后如图所示:

接下来是为按钮添加回调函数以实现其功能。首先是图像的导入,点击按钮,右键-添加回调,就可以转到代码编辑行


灰色部分是app设计工具自动生成的不可更改的设置代码,白色高亮行为按钮的回调函数编写区域,接下来我们在其中输入导入图像的代码:

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

好,现在我们已经可以成功导入图片到app。为了在运算时将图像的数据传递,我们还需要定义一个公有属性,如图所示。

定义输入图像为InputImage,同时我们也将输出图像定义为OutputImage

补充图像导入按钮的回调函数,添加app.InputImage=image;

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


然后我们定义图像灰度化按钮的回调函数,同上

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

结果如图所示,你已经实现了对图片的输入和处理。

最后,我们如果有需要保存处理后的图像,请在结果保存按钮的回调函数中,输入以下代码:

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

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

  1. matlab 学自动驾驶(3) 建立一个驾驶场景并生成综合检测——driving scenario Designer

    matlab 学自动驾驶(3) 建立一个驾驶场景并生成综合检测--driving scenario Designer 文章目录 matlab 学自动驾驶(3) 建立一个驾驶场景并生成综合检测--dri ...

  2. 用Tkinter打造自己的Python IDE开发工具(1)建立一个简单的代码编辑器

    用Tkinter打造自己的Python IDE开发工具(1)建立一个简单的代码编辑器 很多Python初学者,安装完Python后,已经包含了IDLE代码开发和调试系统.都会再安装各种Python开发 ...

  3. 使用抽象等设计工具创建一个稳固的核心机制

    使用抽象等设计工具创建一个稳固的核心机制,由此核心机制来带动业务处理,这样就可以把变化的业务隔离在核心机制之外,从而使业务的变化不影响(独立于)核心机制,这就像我们最早设计系统时要自己基于TCP/IP ...

  4. 在matlab中,利用for循环来生成一个矩阵,并分别对该矩阵的行和列进行求和

    在matlab中,利用for循环来生成一个矩阵,并分别对该矩阵的行和列进行求和 先创建一个新的脚本,并保存,在编辑器中进行编辑.具体如图,以5阶方阵为例: a=zeros(5,5): for i=(1 ...

  5. Hibernate学习——建立一个简单的Hibernate项目

    最近老师让做个web小应用,大三的时候学习过一点J2EE的东西,也做过一些web相关的XXX管理系统,都是用servlet,jsp这些完成的,虽然勉强能够完成任务,但其中各种代码掺杂在一起,不好看而且 ...

  6. 机器人坐标系建立_如何在30分钟内建立一个简单的搜索机器人

    机器人坐标系建立 by Quinn Langille 奎因·兰吉尔(Quinn Langille) 如何在30分钟内建立一个简单的搜索机器人 (How to Build A Simple Search ...

  7. 使用html 语言建立一个简单的网页,如何用记事本建立简单的网页(1).doc

    第九章 网页制作 实验一 用记事本建立简单的HTML文件 [实验目的] 学会用HTML语言建立一个简单的网页. [实验内容] 建立一个网页,布局自定,包括自我介绍.图片.自己的电子信箱地址等,要求在标 ...

  8. 怎么建立一个简单的程序化交易系统?

    怎么建立一个简单的程序化交易系统? 交易系统构成就有好几个部分,主要给大家介绍一个简单的交易系统的构成. 简单的交易系统建立的话至少要包括3个部分,即入市信号系统.离市信号系统.资金风险控制系统. 入 ...

  9. python追踪屏幕的移动目标_利用树莓派和Python建立一个简单、便宜的移动目标探测器...

    今天我们将讨论如何建立一个简单.便宜的移动目标探测器. 这项研究的目的是确定在一个便宜的移动设备上的对象检测模型是否可以用于现实世界的任务. 作为一个移动平台,我们使用的是树莓派3B.树莓派是一款售价 ...

最新文章

  1. RabbitMQ 如何消息生产者producer发送给RabbitMQ服务器broker?
  2. java jpanel 分层显示_java – 向JPanel显示视频
  3. maven+testng+eclipse
  4. Leetcode Combinations
  5. 2017年天津市大学生数学竞赛试题 (理工类)
  6. Python精确指南——第三章 Selenium和爬虫
  7. CSS 控制滚动条样式
  8. CCS 软件使用经验四则
  9. ROS中的diagnostics模块
  10. Excel 文字转拼音
  11. 《区块链革命》读书笔记1可信的协议 引导未来:区块链经济七大设计原则
  12. wow Warlock shushia PVP DZ
  13. vux以插件方式调用
  14. OpenCV学习笔记(二)—— OpenCV整体结构
  15. 全球博士Talk NeurIPS 2022 预讲会完美收官,27位博士生共话机器学习前沿研究
  16. 怎么制作gif动态图 QQ动态表情包怎么制作
  17. 【sudo错误】xxx is not in the sudoers file.This incident will be reported解决
  18. DES加解密工具(DES/ECB、DES/CBC)
  19. ARDUINO NANO 的 PID 循迹小车
  20. DOS命令下硬盘坏道检测和修复工具

热门文章

  1. 300条物流术语翻译
  2. size = 8 * sizeof(int)是什么意思?详解代码为啥这么写?
  3. 企业站点SEO问题解决方法(批量化)
  4. python练习9 Open3D处理
  5. 模拟仿真最终利用计算机,基于计算机仿真模拟实验的应用分析
  6. 当OpenCV遇上Origami
  7. python sklearn 回归案例:车流量预测
  8. 网易云签到可抽奖?那一年我能签到365天。不信?你看。
  9. C++:实现量化Everest Option埃弗勒斯峰型测试实例
  10. java求导数_JAVA实现表达式求导运算的分析总结