Button下的回调函数中都出现,可能会影响整个程序的运行速度。所以就需要把这些变量宣布为全域变量。
欲将传递的变量在传递过程中的Callback都设置为全域变量,实现方法如下: function togglebutton1_Callback(hObject, eventdata, handles) % hObject handle to togglebutton2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) Global A %宣告A为全域变量
%?????????????????????????以下为程序内容 function togglebutton2_Callback(hObject, eventdata, handles) % hObject handle to togglebutton2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) Global A %宣告A为全域变量
%?????????????????????????以下为程序内容 这样之后A就会成为全域变量 (2) Toggle Button 回调函数 if get(gcbo,'Value')==1;
%??????????????????????????程序 else
imformats %当Toggle Button按钮弹起时,即显示所有可读取的文件格式 end
这样当Toggle Button的Value属性为1时有相应的操作,而当Toggle Button的Value属性为0时又有其他相应的操作。 (3)对应Axes的回调函数
本次界面设计使用了多个Axes对象,因此在编写Axes的回调函数是一定要注意,使得到的图像显示在对应的Axes对象中。其编程实现如下:
axes(handles.axesi)
set(handles.axesi,'XMinorTick','on') 其中 i 为对应Axes对象的标号。
22
3.3.5系统实现
在以上各步骤顺利进行后保存运行,出现如图3.5所示原始界面。
图3.5 原始界面
按下第一个按钮即读入彩色图像出现如图3.6所示读入彩色图像界面。
图3.6 读入彩色图像界面
按下第二个按钮即转换颜色空间出现如图3.7所示转换颜色空间界面。
23
图3.7 转换颜色空间界面
按下第三个按钮即皮肤概率图像出现如图3.8所示皮肤概率图像界面。
图3.8 皮肤概率图像界面
按下第四个按钮即皮肤二值化图像出现如图3.9所示皮肤二值化图像界面。
24
图3.9 皮肤二值化图像界面
按下第五个按钮即定位出现如图3.10所示定位界面。
图 3.10 定位界面
设计的系统界面简洁明了,看上去一目了然,使用者可以轻松的实现操作,每按一个按钮就可以实现相关操作,了解基于肤色特征进行人脸定位中的关键步骤。总体来说,该
25

