在 App 中使用文件选择和警报对话框加载图像
此 App 说明如何配置和使用文件选择和警报对话框。在此 App 中,文件选择对话框允许 App 用户从其文件系统中选择图像。如果用户选择了无效文件类型的图像,则警报对话框会发出警报。该 App 显示所选图像和三个直方图,分别对应于图像包含的红色、绿色和蓝色像素。
此示例演示以下 App 构建任务:
用文件选择对话框加载图像
对该 App 进行编程以显示一个文件选择对话框,供 App 用户选择自定义图像。如果您运行该 App 并点击 Load Custom Image 按钮,将出现文件选择对话框。
首先为 Load Custom Image 按钮创建一个 ButtonPushedFcn
回调。在 LoadCustomImageButtonPushed
回调函数中,指定有效的输入文件类型,并使用 uigetfile
函数创建对话框。
filterspec = {'*.jpg;*.tif;*.png;*.gif','All Image Files'}; [file,path] = uigetfile(filterspec);
函数 uigetfile
的输出提供所加载图像的文件名和路径。获取完整路径名称。
imagefile = [path file];
使用此完整路径名称显示图像并绘制图像的红色、绿色和蓝色像素的直方图。创建一个名为 updateImage
的新辅助函数来执行以下任务:
使用完整路径名称读取并显示图像。
im = imread(imagefile); imagesc(app.ImageAxes,im);
在不同坐标区上绘制三个直方图,以显示红色、绿色和蓝色像素强度。
histr = histogram(app.RedAxes,im(:,:,1),"FaceColor",[1 0 0],"EdgeColor","none"); histg = histogram(app.GreenAxes,im(:,:,2),"FaceColor",[0 1 0],"EdgeColor","none"); histb = histogram(app.BlueAxes,im(:,:,3),"FaceColor",[0 0 1],"EdgeColor","none");
有关如何创建辅助函数的详细信息,请参阅使用辅助函数重用代码。
显示关于错误消息的 App 内警报
要在 App 用户执行无效操作时显示 App 内错误消息,请使用 uialert
创建一个警报对话框。例如,当用户选择文件类型不受支持的图像时,显示警报对话框。在 updateImage
函数中使用 try/catch
语句来处理不支持的文件类型的异常。首先使用 imread
函数读取图像文件。如果读取文件时出现错误,使用 uialert
显示错误消息。将 UI 图窗作为第一个参量传递,后跟指定为 MATLAB 错误文本的消息文本和警报标题。
try im = imread(imagefile); catch ME % If problem reading image, display error message uialert(app.UIFigure,ME.message,"Image Error"); return; end
如果您尝试加载 App 不支持的自定义图像,则会出现警报对话框。