使用MATLAB提示用户选择图像文件

时间:2015-04-26 05:59:38

标签: matlab image-processing matlab-figure

我正在尝试实现一个功能,从提示用户选择图像并执行一些图像操作开始。这是我的代码:

[FileName, Path] = uigetfile ('*.bmp; *.png; *.jpg','Select the secret image');
secretImg = FileName;

R = secretImg(:,:,1);
G = secretImg(:,:,2);
B = secretImg(:,:,3);

然而,这提示我错误:

  

指数超出矩阵维度。

     

主要错误(第16行)G = secretImg(:,:,2);

它适用于传统方法,它在代码中指定文件名,如下所示:

%secretImg = imread('Images/lena.bmp');

2 个答案:

答案 0 :(得分:1)

试试这个:

secretImg = imread(strcat(Path,FileName));

完整代码:

[FileName, Path] = uigetfile ('*.bmp; *.png; *.jpg','Select the secret image');
secretImg = imread(strcat(Path,FileName));

%// One alternative is to use `fullfile` as rayryeng suggested, 
%// secretImg = imread(fullfile(Path,FileName));

R = secretImg(:,:,1);
G = secretImg(:,:,2);
B = secretImg(:,:,3);

答案 1 :(得分:0)

使用imgetfile。与uitgetfile不同,imgetfile会自动过滤掉非图片文件。