已经是第二天学习MATLAB编写GUI了,这次分享的是一个图像处理的GUI。
其内容包括,图像加载,灰度化,二值化和边缘提取。
认识新插件,坐标轴用来存放图片
GUI界面如下:包括三部分图像选择,程序退出,和内容关于
当点击图像选择按钮时,弹出一个交互窗口选择图片
点击图中的w1.jpg 就可以完成以下操作:图像加载,灰度化,二值化,边缘提起
操作步骤:
首先需要对:选择图像按钮设置回调函数
在MATLAB中使用uigetfile函数进行图像选择,可以利用doc uigetfile命令进行查看,代码如下
[filename,pathname]=uigetfile({'*.jpg';'*.png';'*.tif'},'Picture');
if isequal(filename,0)||isequal(pathname,0)
errordlg('You do not chose a picture.Please input a new picture!');
else
file = strcat(pathname,filename);
% original image
img = imread(file);
imshow(img,'parent',app.UIAxes);
%gray image
imgray = rgb2gray(img);
imshow(imgray,'parent',app.UIAxes_4);
%bw image
imbw= imbinarize(imgray);
imshow(imbw,'parent',app.UIAxes_2);
%edge image opencv halcon
imedg = edge(imgray,'canny',0.3);
imshow(imedg,'parent',app.UIAxes_5);
end
退出程序操作:
利用questdlg函数,进行提示,请求是否退出
代码如下:
value = questdlg('if you wang to exit?','End','Yes','No','No');
switch value
case 'Yes'
delete(app.UIFigure); % close all windows
return;
case 'No'
return;
end