在命令窗口输入guide
或者:点击“新建”->“图形用户界面”
选择Blank GUI,点OK
进入如下界面
在左边控件栏中选择Static Text,将控件放入面板中,并右键单击该控件,选择Property Inspector。
此时会弹出属性对话框:
找到String属性,将其内容改为:尺寸
利用上面方式,再创建一个Static Text控件,命名为:方差
然后,分别创建两个Edit Text,布局可参考如下:
两个Edit Text的String值,分别设置为3和1。
最终效果如下:
继续创建两个Axes控件,如下图:
然后创建两个按钮Push Button控件,右键点开其属性框
修改他们的String属性
将两个按钮文字改为,“打开”和“处理”,效果如下
此时是关键环节,右键点击“打开”按钮,在菜单中选择View Callbacks à Callback
此时会先弹出保存对话框,将程序保存名称设为你名字拼音,比如zhangsan。
保存后,会进入代码文件,如下图
由于是先创建的“打开”按钮,所以,他对应的控件名称编号是1;下面那个编号为2的Callback对应的则是“处理”按钮。
在“打开”按钮的callback函数下编写代码,完成对话框打开文件,并显示在axes1控件框内。参考代码如下:
然后在“处理”按钮的callback函数下编写代码,让其实现,将两个Edit文本框内的数字,设置一个高斯滤波器,并对打开的图像进行滤波并显示在axes2上,参考代码如下:
保存后,单击菜单上的“运行”,就可以运行程序了,效果如下:
axis off
%%filename文件名 pathname路径
[filename pathname] = uigetfile({'*.jpg';'*.bmp';'*.png';'*.*'}, '打开图片');
str = [pathname filename];
global im;
im = imread(str);
axes(handles.axes1); %打开axes1的句柄,对axes1进行操作
imshow(im);
global im;
gsize = get(handles.edit1, 'String');
gsigma = get(handles.edit2, 'String');
f = fspecial('gaussian', str2num(gsize), str2num(gsigma));
im_f = imfilter(im, f);
axes(handles.axes2);
imshow(im_f);
推荐学习网址: