MatlabGUI使用

前言

最近学习了下图像处理的知识,自己尝试了下编写sobel等算子的matlab程序(未使用matlab自带函数),然后在用matlab的GUI做了一个丑陋无比的界面。这篇最主要是记录做这个界面以及编写算法时候用到的matlab的知识点。关于图像处理的算法,下篇文章在细聊。

UI介绍

整个界面就如下图那样(忽略他的丑吧!)
这里写图片描述
界面非常简单,所以功能一目了然,点击加载图像按钮来加载待处理图像,然后点击处理按钮来实现图像处理,通过清除图像 按钮来清除图像。界面右边分别显示 原图像处理后图像。界面左边可以自己输入各算子的核(按照matlab标准输入矩阵方法输入即可),默认是sobel算子的Gx核。当然如果我们在操作的时候出现错误,也会提示相应的错误是什么。这个界面的功能整体上就是这样,非常简单。

如何实现这个UI?

  • 如果大家不是特别了解MatlabGUI的功能的话可以去看下网上大神写的帖子(http://www.matlabsky.com/thread-5217-1-1.html),写的非常好。看下这篇帖子可以了解到MatlabGUI的基本操作。
  • 我这个UI只是用到了以下几个控件
    • Push Button 按钮
    • Static Text 显示信息
    • Edit Text 输入信息
    • Axes 显示图像
      接下来分别介绍下这些控件的使用

Push Button

用于触发特定的事件,比如我要加载一副图像,点击这个按钮,MatlabGUI就会去调用一个特定函数去触发特定的事件,这个特定函数就是叫回调函数,我们只需要在指定的回调函数下编写事件就可以。

加载图像按钮实现

说明几个重要的地方。首先我们加载到的图像,必须传递到其他控件的回调函数下进行处理,而回调函数下变量都是局部变量,我们可以通过handles.imageSoure =imread(str); 这句代码来实现其他控件通过handles.imageSoure来访问这个数据,当然我们必须在加上 guidata(hObject, handles);这句代码,否则其他控件回调函数还是不能访问这个我们自己定义的变量。需要注意的是我们定义变量的时候必须这么定义handles.yourValueName。其他代码我都在注释中有解释,我就不多介绍了。

function 
  • 6
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值