基于matlab GUI一步一步完成图像去噪(一)
说明:本教程使用matlab版本为matlab2012
###一、 GUI编程入门
- 启动matlab
2.点击红框框框起来的按钮
- 选择Graphical User Interface(GUI)
- 选择Blank gui 然后点击ok
会出现这个。
- 界面介绍
- 在界面上为添加按钮。
点击按钮,在点击gui界面的空白处,空白处就会出现按钮
同理点击坐标图
最终效果:
- 为按钮增加功能
- 双击Push Button按钮会出现这个,篮框是按钮的属性,红框是属性的选择
2. 找到string属性可以为按钮改名字
我们将名字改为打开
找到Tag属性改变回调函数的名字。我们改为open,同理将坐标图的Tag改为Before
!
右击打开按钮,找到ViewCallback,点击Callback
完了会出现这个图片
接着复制下面这段代码,到函数下面
function open_Callback(hObject, eventdata, handles)
%选择图片,可以是以下格式(*这个符号是通配符,表示可以是任意长度的任意字符)
[filename,pathname]=uigetfile({'*.*';'*.bmp';'*.jpg';'*.tif';'*.jpeg'},'选择图像');
%将im定义成全局变量,这样在代码的任何位置都可以使用im了。
global im;
%如果没有输入路径,则弹出错误对话框
if isequal(filename,0)||isequal(pathname,0)
errordlg('您还没有选取图片!!','程序员哥哥告诉你');
return;
else
%合成路径+文件名
image=[pathname,filename];
%读取图像
im=imread(image);
%打开坐标,方便操作
set(handles.before,'HandleVisibility','ON');
%使用图像,操作在坐标before里
axes(handles.before);
%在坐标图before里显示原图像
imshow(im);
title('原始图像');
end
ctrll+s保存程序,然后点击上方的run按钮(是个三角形)。
然后打开一张图片
今天的内容就先到这里。
布置一个小作业,现在我们已经有了彩色的图像,那么如何先给图像加噪呢?
图像加噪代码如下:

function do_Callback(hObject, eventdata, handles)
%打开坐标,方便操作
global im;
I=im;
X=rgb2gray(I);
%读取图像尺寸
[m,n]=size(X);
%给图像加噪
Xnoised=imnoise(X,'speckle',0.01);
%输出加噪图像
set(handles.after,'HandleVisibility','ON');
%使用图像,操作在坐标before里
axes(handles.after);
%在坐标图before里显示原图像
%imshow(im);
imshow(Xnoised);
title('原始图像');
最后完成后结果应该是这样子:

浙公网安备 33010602011771号