介绍的函数都只是简单运用,具体的使用方法网上有很多,就不详细写出了。
在命令行窗口输入guide,打开GUI设计界面,选择blank。
然后大概设计的有
大致框架如此,具体的东西慢慢填充。
标准化打开选择文件对话框
function [返回的文件名,返回的文件路径名,返回的文件类型] = uigetfile(文件类型设置,打开对话框的标题,默认指向的文件名)
简单使用:
打开一种文件
[filename,pathname] = uigetfile('*.m','Select the M-file')
打开多种文件
[filename, pathname] = uigetfile({'*.m';'*.mdl';'*.mat';'*.*'},'File Selector');
设置默认文件
[filename, pathname] = uigetfile( ...
{'*.jpg;*.tif;*.png;*.gif','All Image Files';...
'*.*','All Files' },...
'选择文件', ...
'C:\');
返回了一个文件后,我们可以选择将其文件名与路径名组合起来
[filename,pathname] = uigetfile('*.m','Select the M-file');
if isequal(filename,0)
disp('Open failed!');
else
disp(['Open successfully',fullfile(pathname,filename)]);
end
其中disp是将内容输出到MATLAB窗口中。类似于C的printf。
从图形文件读取图像
基本语法:
A = imread(filename)%从所指定的文件中读取图像filename,从其内容推断出文件格式。如果filename是多图像文件,则imread读取文件中的第一张图像。
A = imread(filename,fmt)%另外指定带有标准文件扩展名(由表示)的文件格式fmt。如果imread找不到名称filename为的文件,它将查找名为的文件filename.fmt。
A = imread(___,idx)%从多图像文件中读取指定的图像。此语法仅适用于GIF,PGM,PBM,PPM,CUR,ICO,TIF和HDF4文件。您必须指定一个filename输入,并且可以选择指定fmt。
A = imread(___,Name,Value)%除了先前语法中的任何输入自变量之外,还使用一个或多个“名称/值”对自变量指定格式特定的选项。
[A,map] = imread(___)%在读取索引图像filename入A并读取其相关联的颜色映射成map。图像文件中的颜色图值会自动重新缩放到该范围内[0,1]。
[A,map,transparency] = imread(___)%另外返回图像透明度。此语法仅适用于PNG,CUR和ICO文件。对于PNG文件,transparency如果存在则为Alpha通道。对于CUR和ICO文件,它是AND(不透明度)掩码。
初期代码:
[filename, pathname] = uigetfile( ...
{'*.jpg;*.tif;*.png;*.gif','All Image Files';...
'*.*','All Files' },...
'选择文件', ...
'C:\');
if isequal(filename,0)||isequal(pathname,0)
errordlg('没有选中文件','出错');
return ;
else
img = imread([pathname,filename]);%读取图像文件
imshow(img);%显示图像
end
在GUi界面添加坐标轴,然后在代码中添加axes函数。
axes函数
创建笛卡尔坐标系
基本用法:
axes
axes(Name,Value)
axes(parent,Name,Value)
ax = axes(___)
axes(cax)
放进GUI的代码,后面还可能修改
[filename, pathname] = uigetfile( ...
{'*.jpg;*.tif;*.png;*.gif','All Image Files';...
'*.*','All Files' },...
'选择文件', ...
'C:\');
if isequal(filename,0)||isequal(pathname,0)
errordlg('没有选中文件','出错');
return ;
else
img = imread([pathname,filename]);%读取图像文件
axes(handles.axes1);
imshow(img);%显示图像
end
走了不少坑,毕竟还是不懂MATLAB,一开始死活不知道怎么将图片放在GUI界面,MATLAB中一直报错,改了几次尝试了几次,从头开始弄了三四次,emmm,总的来说,有点被恶心到了。。。我还是想做数学题。