这就是在MATLAB Gui中搭建的界面,目的是实现图片的读取导入。
在Gui界面中,右击按钮,选择Callback进入回调函数(右击选择图片按钮---单击查看回调----选择Callback),可见代码如下:
由于本人要显示的是图片,所以文件类型只选择了.bmp和.jpg和.png三种格式,当然你可以根据自己的需求自己添加啦!
filename中保存的是文件名,filepath中保存的是路径,注意第二句代码中一定是filepath在前,以便后面可以读取到文件。
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
global image;
[filename,filepath]=uigetfile({'*.bmp;*.png;*.jpg;'},'选择图像');%将可导入的文件类型写下来
if(isequal(filename,0)||isequal(filepath,0)) %如果按了取消,则return
return;
end
image = [filepath,filename]; %将文件名保存下来,并作为全局变量,方便后面程序调用
im=imread(image);
axes(handles.axes1);
imshow(im);
title('原始图像'); %显示图像,在axes1
axes(handles.axes2);
imhist(im); %输出图像直方图,在axes2
title('原始图像直方图');
命令批注:
1、uigetfile - Open standard dialog box for retrieving files(打开标准对话框检索文件)
[FileName,PathName,FilterIndex] = uigetfile(FilterSpec)
[文件名,路径名,过滤指数]=uigetfile(过滤规范,即过滤的内容)
2、imread - Read image from graphics file(从图形文件中读取图像)
3、Set - Set graphics object properties(设置图形对象属性)
4、Image - Display image object(显示图像对象)
导入成功后,图像显示在axes控件里面啦!(axes控件编号需要根据自己Gui实际修改)
至此从文件夹选择图片的功能已经完成啦!